sql >> Databasteknik >  >> RDS >> Mysql

Välj där JSON Array innehåller

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 -> operatör kräver MySQL 5.7.9+.

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.



  1. Ett nätverksrelaterat eller instansspecifikt fel inträffade när en anslutning till SQL Server upprättades

  2. Testa frågekörningstid i laravel

  3. Omedelbar filinitiering:Inverkan under installationen

  4. Använder Python och MySQL i ETL-processen