Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wybierz, gdzie tablica JSON zawiera

JSON_CONTAINS() robi dokładnie to, czego szukasz:

Obecnie konstruktor zapytań Laravela nie zapewnia odpowiedniego API. Istnieje propozycja otwartych elementów wewnętrznych za to jednak.

W międzyczasie możesz wykonać nieprzetworzone zapytanie:

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

Który zwróci wszystkich użytkowników, którzy mają „czerwony” w swoich meta->kolorach Pole JSON. Zauważ, że -> operator wymaga MySQL 5.7.9+.

Możesz także wywołać whereRaw() bezpośrednio na modelu Eloquent.

Laravel 5.6

Od wydania 5.6, konstruktor zapytań Laravela zawiera nowy whereJsonContains metoda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tworzenie funkcjonalności wyszukiwania z Laravel 4

  2. MySQL - jak przechowywać czas z prawidłową strefą czasową? (z Javy)

  3. Jak uruchomić skrypt SQL w MySQL?

  4. Zainstaluj MySQL na komputerze Mac

  5. Ukończony projekt Java, teraz tworzenie pliku jar lub .exe (z bazą danych)