JSON_CONTAINS()код>
прави точно това, което търсите:
Понастоящем конструкторът на заявки на Laravel не предоставя съответен API. Има отворено предложение за вътрешни елементи за това все пак.
Междувременно можете да изпълните необработена заявка:
\DB::table('users')->whereRaw(
'JSON_CONTAINS(meta->"$.colors", \'["red"]\')'
)->get();
Което ще върне всички потребители, които имат "червено" в своите meta->цветове
JSON поле. Имайте предвид, че ->код> оператор
изисква MySQL 5.7.9+.
Можете също да извикате whereRaw()
директно върху модел Eloquent.
Laravel 5.6
От изданието 5.6 конструкторът на заявки на Laravel съдържа нов whereJsonContains
метод.