sql >> Database >  >> RDS >> Mysql

Selecteer, waar JSON Array bevat

JSON_CONTAINS() doet precies wat u zoekt:

Momenteel biedt de querybuilder van Laravel geen bijbehorende API. Er is een open internals voorstel er wel voor.

In de tussentijd kunt u een onbewerkte zoekopdracht uitvoeren:

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

Dat zou alle gebruikers retourneren die "rood" in hun meta->colors hebben JSON-veld. Merk op dat de -> telefoniste vereist MySQL 5.7.9+.

Je kunt ook de whereRaw() . aanroepen direct op een Eloquent model.

Laravel 5.6

Vanaf release 5.6 bevat Laravel's querybuilder een nieuwe whereJsonContains methode.



  1. Hoe te controleren of SQL-database beschadigd is - Oplossing om MDF-bestand te repareren

  2. SQL Server Prestaties TOP IO Query -1

  3. Bekijk informatie met de VIEWS Information Schema View in SQL Server

  4. Like In MySQL gebruiken voor zoekbewerkingen met Pattern