Получение результатов модели Laravel на основе нескольких идентификаторов
я реализовал ZendSearch в свою Laravel приложение. Я использую его в качестве моей поисковой системы, где пользователи будут вводить слово поиска, а затем ZendSearch вернет мне массив результатов, упорядоченных по релевантности. Однако, массив, который ZendSearch возвращает, только возвращает мой идентификатор записи (он не возвращает никакой фактической информации о записи).
что будет следующим правильным способом запроса моей модели для получения результатов на основе ZendSearch массив результатов, который является просто массивом идентификаторов упорядоченных на основе релевантности.
Я знаю Model::find(1) который вернет мою запись с идентификатором 1, но как я могу кормить это find() метод массив идентификаторов, которые я хочу вернуть в том порядке, который я ему даю.
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