Retrieve Distinct Field Values
On this page
You can retrieve distinct field values of documents in a collection by calling the distinct()
method on an object collection or a query builder.
To retrieve distinct field values, pass a query filter to the where()
method and a field name
to the select()
method. Then, call distinct()
to return the unique values of the selected
field in documents that match the query filter.
Example
This usage example performs the following actions:
Uses the
Movie
Eloquent model to represent themovies
collection in thesample_mflix
databaseRetrieves distinct field values of documents from the
movies
collection that match a query filterPrints the distinct values
The example calls the following methods on the Movie
model:
where()
: matches documents in which the value of thedirectors
field includes"Sofia Coppola"
.select()
: retrieves the matching documents'imdb.rating
field values.distinct()
: retrieves the unique values of the selected field and returns the list of values.get()
: retrieves the query results.
$ratings = Movie::where('directors', 'Sofia Coppola') ->select('imdb.rating') ->distinct() ->get(); echo $ratings;
[[5.6],[6.4],[7.2],[7.8]]
To learn how to edit your Laravel application to run the usage example, see the Usage Examples landing page.
Tip
For more information about query filters, see the Retrieve Documents that Match a Query section of the Read Operations guide.