Encontrar um documento
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
Movie
Eloquent para representar a coleção dosample_mflix
movies
banco de dados doRecupera um documento da coleção
movies
que 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 campodirectors
inclui"Rob Reiner"
orderBy()
: classifica documentos correspondentes por seus valores de_id
crescentesfirst()
: 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
movies
chamando o métodotable()
a partir da faseDB
Recupera um documento da coleção
movies
que corresponde a um filtro de queryImprime o campo
title
do documento recuperado
O exemplo chama os seguintes métodos de construtor de query:
where()
: corresponde a documentos em que o valor do campodirectors
inclui"Rob Reiner"
orderBy()
: classifica documentos correspondentes por seus valores de_id
crescentesfirst()
: 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.