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



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



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



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

577   2  

2 ответов:

это просто. Используйте findMany:

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

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

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

под капотом он просто делает whereIn так что вы могли бы сделать это:

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

********* решено **********

есть много способов сделать это

Способ 1:

 Model::whereIn('id',[1,2,3]);

Способ 2:

 Model::findMany('id',[1,2,3]);

Способ 3:

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

Comments

    Ничего не найдено.