Recupere los resultados del modelo Laravel en función de múltiples ID

2 minutos de lectura

avatar de usuario
Justin

he implementado ZendSearch en mi Laravel solicitud. 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 ZendSearch devuelve, solo devuelve mi ID de registro (no devuelve ninguna información de registro real).

¿Cuál sería la próxima forma correcta de consultar mi Modelo para recuperar los resultados basados ​​en el ZendSearch resultados de la matriz, que es solo una matriz de ID ordenados en función de la relevancia.

yo se de Model::find(1) lo que devolvería mi registro con una identificación de 1, pero ¿cómo puedo alimentar eso? find() método una matriz de ID que quiero que me devuelvan en el orden en que lo estoy dando.

  • ¿Te importaría comentar por qué el voto negativo?

    – justinl

    14 de febrero de 2015 a las 0:41

  • ¿Otro voto negativo? ¿Por qué? 🙂 Los documentos de laravel ni siquiera dicen nada sobre findMany() o la capacidad de pasar una matriz a la función de búsqueda. ¿Cómo es que esta no es una pregunta legítima? 🙂

    – justinl

    21 de febrero de 2015 a las 22:03

  • Voto por ti, esta pregunta me ayudó. 🙂 no vi findMany en el documento tampoco, y está en el documento API.

    –Peter Liang

    27 de abril de 2015 a las 4:15


  • @PeterLiang enlace roto y no encuentro el 8

    – francisco

    23 de septiembre de 2021 a las 7:59

Así de simple. Usar findMany:

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

Por cierto, también puedes pasar una matriz a find() y llamará internamente findMany:

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

Debajo del capó solo hace un whereIn así que podrías hacer eso también:

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

Solo usa ->find($ids)

$ids = [1,2,3,4]
$model = Model::find($ids);

en mi caso uso query como esto

$ids = [1,2,3,4]
$model = Model::query()->find($ids);

Lo usé en Lumen.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad