JSON_CONTAINS()
melakukan apa yang Anda cari:
Saat ini, pembuat kueri Laravel tidak menyediakan API yang sesuai. Ada proposal internal terbuka untuk itu sekalipun.
Sementara itu, Anda dapat menjalankan kueri mentah:
\DB::table('users')->whereRaw(
'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
)->get();
Yang akan mengembalikan semua pengguna yang memiliki "merah" di meta->colors
bidang JSON. Perhatikan bahwa ->
operator
membutuhkan MySQL 5.7.9+.
Anda juga dapat memanggil whereRaw()
langsung pada model Eloquent.
Laravel 5.6
Pada rilis 5.6, pembuat kueri Laravel berisi whereJsonContains
metode.