Конструктор запросов с многовыборными данными

#laravel #eloquent #query-builder #laravel-query-builder

#laravel #красноречивый #конструктор запросов #laravel-конструктор запросов

Вопрос:

У меня есть множественный выбор в форме, которая возвращает массив (метод = get).

В БД у меня есть относительное поле (varchar) с сохраненным чем-то вроде:

 ["apple","lemon","banana"]
  

Как выполнить поиск в БД с помощью конструктора запросов, чтобы проверить, находятся ли в БД значения массива, возвращаемые из формы?

 $items = Item::where(.....
  

Комментарии:

1. where('field_name', 'like', '%' . $q . '%')

2. он также работает с аналогичной строкой, такой как [«apple», «apple red»]?

Ответ №1:

Вы можете сделать что-то вроде этого

 $items = Item::whereIn('name', $array)->get();
  

Комментарии:

1. Я думаю, что whenIn не работает, если поле DB содержит строку, подобную json.