Você pode recuperar um único documento de uma coleção usando um método como Model::where() ou métodos da face DB para corresponder aos documentos e, em seguida, chamar o método first() para retornar um documento.
Se vários documentos corresponderem ao filtro de query, first() retornará o primeiro documento correspondente de acordo com aordem natural dos documentos no banco de banco de dados ou de acordo com a ordem de classificação que você pode especificar usando o método orderBy() .
Dica
Para saber mais sobre outras maneiras de recuperar documentos com a integração do Laravel, consulte o guia de operações de leitura.
Exemplo
Selecione a partir das seguintes abas Eloquent e Query Builder para visualizar exemplos de uso para a mesma operação que usa cada sintaxe de query correspondente:
Este exemplo executa as seguintes ações:
Utiliza o modelo
MovieEloquent para representar a coleção dosample_mflixmoviesbanco de dados doRecupera um documento da coleção
moviesque corresponde a um filtro de queryImprime o documento recuperado
O exemplo chama os seguintes métodos no modelo Movie :
where(): corresponde a documentos em que o valor do campodirectorsinclui"Rob Reiner"orderBy(): classifica documentos correspondentes por seus valores de_idcrescentesfirst(): recupera somente o primeiro documento correspondente
$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 exemplo executa as seguintes ações:
Acessos a coleção
movieschamando o métodotable()a partir da faseDBRecupera um documento da coleção
moviesque corresponde a um filtro de queryImprime o campo
titledo documento recuperado
O exemplo chama os seguintes métodos de construtor de query:
where(): corresponde a documentos em que o valor do campodirectorsinclui"Rob Reiner"orderBy(): classifica documentos correspondentes por seus valores de_idcrescentesfirst(): recupera somente o primeiro documento correspondente
$movie = DB::table('movies') ->where('directors', 'Rob Reiner') ->orderBy('_id') ->first(); echo $movie['title'];
This Is Spinal Tap
Para saber como editar seu aplicativo Laravel para executar o exemplo de uso, consulte a página de exemplos de uso.