Menu Docs

Recuperar valores de campo distintos

Nesta página

Você pode recuperar valores de campo distintos de documentos em uma coleção ligando para o método distinct() em uma coleção de objeto ou em um construtor de queries.

Para recuperar valores de campo distintos, passe um filtro de query para o método where() e um nome de campo para o método select() . Em seguida, chame distinct() para retornar os valores exclusivos do campo selecionado em documentos que correspondem ao filtro de query.

Dica

Para obter mais informações sobre filtros de query, consulte a seção Recuperar documentos que correspondam a uma query do guia Operações de leitura.

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 do sample_mflix movies banco de dados do

  • Recupera valores de campo distintos de documentos da coleção movies que correspondem a um filtro de consulta

  • Imprime os valores distintos

O exemplo chama os seguintes métodos no modelo Movie :

  • where(): corresponde a documentos em que o valor do campo directors inclui "Sofia Coppola"

  • select(): recupera os valores de campo imdb.rating dos documentos correspondentes

  • distinct(): Recupera os valores únicos do campo selecionado e retorna a lista de valores

  • get(): recupera os resultados da query

$ratings = Movie::where('directors', 'Sofia Coppola')
->select('imdb.rating')
->distinct()
->get();
echo $ratings;
[[5.6],[6.4],[7.2],[7.8]]

Este exemplo executa as seguintes ações:

  • Acessos a coleção movies chamando o método table() a partir da fase DB

  • Recupera valores de campo distintos de documentos da coleção movies que correspondem a um filtro de consulta

  • Imprime os valores distintos

O exemplo chama os seguintes métodos de construtor de query:

  • where(): corresponde a documentos em que o valor do campo directors inclui "Sofia Coppola"

  • select(): recupera os valores de campo imdb.rating dos documentos correspondentes

  • distinct(): Recupera os valores únicos do campo selecionado e retorna a lista de valores

  • get(): recupera os resultados da query

$ratings = DB::table('movies')
->where('directors', 'Sofia Coppola')
->select('imdb.rating')
->distinct()
->get();
echo $ratings;
[5.6,6.4,7.2,7.8]

Para saber como editar seu aplicativo Laravel para executar o exemplo de uso, consulte a página de exemplos de uso.

Nesta página