Puedes recuperar un único documento de una colección utilizando un método como Model::where() o utilizar métodos de la fachada DB para comparar 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 los documentos' orden natural 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, consulte la Guía de operaciones de lectura.
Ejemplo
Seleccione de lo siguiente Eloquent y Query Builder pestañas para ver ejemplos de uso de la misma operación que usan cada sintaxis de query correspondiente:
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.