Передать параметры SQL через запятую в Laravel

164
09 ноября 2019, 08:30

Laravel Framework 5.6.29

PHP 7.2.11

mysql Ver 15.1 Distrib 10.3.11-MariaDB

Необходимо сделать SQL запрос с оператором IN. Данные необходимо взять из массива. Проблема в том, что запрос получается вида:

...IN ('123,312,111,222')

т.е. Laravel думает что это строка (это на самом деле строка, получаем с помощью implode). Необходимо каким-то образом передать туда что-то вроде списка. Пока решили таким кастылем:

foreach ($data['values'] as $key => $value) {
    $sql_string .= "AND id = $value ";
}

Есть более хорошее решение?

Answer 1

Так а в чём проблема использовать конструктор...

$result = Model::whereIn('id', $data['values'])->get();
READ ALSO
Выбрать значения по одной колонке MySQL

Выбрать значения по одной колонке MySQL

Как из БД сделать выборку по одной колонке с конкретным указанием значений

171
Как работает placeholder на поле number? [закрыт]

Как работает placeholder на поле number? [закрыт]

У меня есть поле ввода имени и возрастаВ поле имя прописано plaseholder = "Имя", тоже самое я прописал и в поле возраст, но слово "возраст" он у меня...

137
Как подключить fontawesome 5 локально с компьютера?

Как подключить fontawesome 5 локально с компьютера?

я скачал fontawesome 5 на комп, не могу подключить, подскажите, кто знает

172
Поиск первого элемента из списка с помощью python

Поиск первого элемента из списка с помощью python

Вопрос следующий: Пишу автотестМне нужно зайти на яндекс

203