Puedes recuperar un solo documento de una colección usando un método como Model::where() o métodos del facade DB para hacer coincidir documentos, y luego llamar al método first() para devolver un documento.
Si varios documentos coinciden con el filtro de query, first() devuelve el primer documento coincidente según el orden natural de los documentos en la base de datos o según el orden de clasificación que puedes especificar utilizando el método orderBy().
Tip
Para aprender sobre otras formas de recuperar documentos con la integración de Laravel, vea la guía de operaciones de lectura.
Ejemplo
Selecciona de las siguientes pestañas Eloquent y Query Builder para ver ejemplos de uso de la misma operación que usa cada correspondiente sintaxis de query:
Este ejemplo realiza las siguientes acciones:
Utiliza el modelo
MovieEloquent para representar la colecciónmoviesen la base de datossample_mflixRecupera un documento de la colección
moviesque coincida con un filtro de queryImprime 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 de_idascendentesfirst(): 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 coincida con un filtro de queryImprime el campo
titledel documento recuperado
El ejemplo llama a los siguientes métodos para crear query:
where(): Coincide con documentos en los que el valor del campodirectorsincluye"Rob Reiner"orderBy(): Ordena los documentos coincidentes por sus valores de_idascendentesfirst(): 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 tu aplicación Laravel para ejecutar el ejemplo de uso, consulta la página de Ejemplos de Uso.