Получить результаты модели Laravel на основе нескольких идентификаторов

Я реализовал ZendSearch в мой Laravel приложение. Я использую его как свою поисковую систему, где пользователи будут вводить поисковое слово, а затем ZendSearch вернет мне массив результатов, упорядоченных по релевантности. Тем не менее, массив, который ZendSearch возвращает, возвращает только мои идентификаторы записи (не возвращает никакой фактической информации о записи).

Каков будет правильный способ запроса моей модели для получения результатов, основанных на ZendSearch массив результатов, который представляет собой массив упорядоченных идентификаторов в зависимости от релевантности.

я знаю Model::find(1) который вернул бы мою запись с идентификатором 1, но как я могу кормить это find() Метод массив идентификаторов, которые я хочу вернуть в порядке, который я даю.

75

Решение

Это просто использование findMany:

$models = Model::findMany([1, 2, 3]);

Кстати, вы также можете передать массив find() и это будет внутренне звонить findMany:

$models = Model::find([1, 2, 3]);

Под капотом это просто делает whereIn так что вы можете сделать это тоже:

$models = Model::whereIn('id', [1, 2, 3])->get();
156

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]