sql >> Database teknologi >  >> RDS >> Mysql

Vælg, hvor JSON Array indeholder

JSON_CONTAINS() gør præcis det, du leder efter:

I øjeblikket leverer Laravels forespørgselsbygger ikke en tilsvarende API. Der er et åbent interne forslag dog for det.

I mellemtiden kan du udføre en rå forespørgsel:

\DB::table('users')->whereRaw(
    'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
)->get();

Hvilket ville returnere alle brugere, der har "rød" i deres meta->farver JSON-feltet. Bemærk, at -> operatør kræver MySQL 5.7.9+.

Du kan også kalde whereRaw() direkte på en Eloquent model.

Laravel 5.6

Fra 5.6-udgivelsen indeholder Laravels forespørgselsbygger en ny hvorJsonIndeholder metode.



  1. Vil du oprette forbindelse til MySQL-database med C# som ikke-rootbruger?

  2. SQL - Find hele ord i tekst

  3. Sådan fjerner du efterfølgende hvidt mellemrum i MySQL

  4. Få den næsthøjeste værdi i en MySQL-tabel