php - inner - Recupere resultados del modelo Laravel basados en mĂșltiples ID
like laravel (1)
He implementado
ZendSearch
en mi aplicación
Laravel
.
Lo estoy usando como mi motor de búsqueda donde los usuarios escribirán una palabra de búsqueda, y luego
ZendSearch
me devolverá una serie de resultados ordenados por relevancia.
Sin embargo, la matriz que devuelve
ZendSearch
solo devuelve mis ID de registro (no devuelve ninguna de la información de registro real).
¿Cuál sería la siguiente forma correcta de consultar mi Modelo para recuperar los resultados en función de los resultados de la matriz
ZendSearch
que es solo una matriz de ID ordenada en función de la relevancia?
Sé de
Model::find(1)
que devolvería mi registro con una ID de 1, pero ¿cómo puedo alimentar ese método
find()
una matriz de ID que quiero que me devuelvan en el orden en que lo estoy dando?
Así de simple.
Use
findMany
:
$models = Model::findMany([1, 2, 3]);
Por cierto, también puede pasar una matriz para
find()
y llamará internamente a
findMany
:
$models = Model::find([1, 2, 3]);
Debajo del capó, solo hace un
whereIn
para que puedas hacer eso también:
$models = Model::whereIn(''id'', [1, 2, 3])->get();