Puede recuperar un solo documento de una colección utilizando un método como Model::where() o métodos de la fachada DB para hacer coincidir los documentos y luego llamar al método first() para devolver un documento.
Si varios documentos coinciden con el filtro de consulta, first() devuelve el primer documento coincidente según los documentos orden natural en la base de datos o según el orden de clasificación que puede especificar utilizando el orderBy() método.
Tip
Para conocer otras formas de recuperar documentos con la integración de Laravel, consulte la Lea la guía de operaciones.
Ejemplo
Seleccione entre las siguientes opciones Eloquent y Query Builder pestañas para ver ejemplos de uso para la misma operación que utilizan cada sintaxis de consulta correspondiente:
Este ejemplo realiza las siguientes acciones:
Utiliza el modelo Eloquent
Moviepara representar la colecciónmoviesen la base de datossample_mflixRecupera un documento de la colección
moviesque coincide con un filtro de consultaImprime el documento recuperado
El ejemplo llama a los siguientes métodos en el modelo Movie:
where(): Coincide con documentos en los que el valor del campodirectorsincluye"Rob Reiner"orderBy(): Ordena los documentos coincidentes por sus valores ascendentes_idfirst():Recupera solo el primer documento coincidente
$movie = Movie::where('directors', 'Rob Reiner') ->orderBy('id') ->first(); echo $movie->toJson();
// Result is truncated { "_id": ..., "title": "This Is Spinal Tap", "directors": [ "Rob Reiner" ], ... }
Este ejemplo realiza las siguientes acciones:
Accede a la colección
moviesllamando al métodotable()desde la fachadaDBRecupera un documento de la colección
moviesque coincide con un filtro de consultaImprime el campo
titledel documento recuperado
El ejemplo llama a los siguientes métodos de generación de consultas:
where(): Coincide con documentos en los que el valor del campodirectorsincluye"Rob Reiner"orderBy(): Ordena los documentos coincidentes por sus valores ascendentes_idfirst():Recupera solo el primer documento coincidente
$movie = DB::table('movies') ->where('directors', 'Rob Reiner') ->orderBy('_id') ->first(); echo $movie->title;
This Is Spinal Tap
Para aprender a editar su aplicación Laravel para ejecutar el ejemplo de uso, consulte la página de inicio de Ejemplos de uso.