JSON_CONTAINS()
gör precis vad du letar efter:
För närvarande tillhandahåller inte Laravels frågebyggare ett motsvarande API. Det finns ett öppet internt förslag för det dock.
Under tiden kan du köra en rå fråga:
\DB::table('users')->whereRaw(
'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
)->get();
Vilket skulle returnera alla användare som har "rött" i sina meta->färger
JSON-fält. Observera att
Du kan också anropa whereRaw()
direkt på en Eloquent-modell.
Laravel 5.6
Från och med version 5.6 innehåller Laravels frågebyggare en ny whereJsonContains
metod.