Я реализовал ZendSearch
в мой Laravel
приложение. Я использую его как свою поисковую систему, где пользователи будут вводить поисковое слово, а затем ZendSearch
вернет мне массив результатов, упорядоченных по релевантности. Тем не менее, массив, который ZendSearch
возвращает, возвращает только мои идентификаторы записи (не возвращает никакой фактической информации о записи).
Каков будет правильный способ запроса моей модели для получения результатов, основанных на ZendSearch
массив результатов, который представляет собой массив упорядоченных идентификаторов в зависимости от релевантности.
я знаю Model::find(1)
который вернул бы мою запись с идентификатором 1, но как я могу кормить это find()
Метод массив идентификаторов, которые я хочу вернуть в порядке, который я даю.
Это просто использование findMany
:
$models = Model::findMany([1, 2, 3]);
Кстати, вы также можете передать массив find()
и это будет внутренне звонить findMany
:
$models = Model::find([1, 2, 3]);
Под капотом это просто делает whereIn
так что вы можете сделать это тоже:
$models = Model::whereIn('id', [1, 2, 3])->get();
Других решений пока нет …