In Laravel, the distinct()
method is used to fetch distinct records from the database, it is also part of Laravel query builder, which means it can be chained to other query builder methods as well.
The typical usage of this method is to find how many users made comments on a post. Since users can make more than one comment, it can be helpful to get the distinct number of users that commented.
$users = DB::table('tablename')->distinct()->get();
This method does not take any parameters.
The yourController.php
file shows how the distinct()
method is used. To see the result, click on the “Output” tab in the executable code below.
APP_NAME=Laravel APP_ENV=local APP_KEY=base64:y/pKeSS3Dw2DF8SSju5xWAZ0BNvTWnit4coXi271A/U= APP_DEBUG=true APP_URL=http://localhost LOG_CHANNEL=stack DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=educative1 DB_USERNAME=user DB_PASSWORD=user BROADCAST_DRIVER=log CACHE_DRIVER=file QUEUE_CONNECTION=sync SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 MAIL_MAILER=smtp MAIL_HOST=smtp.mailtrap.io MAIL_PORT=2525 MAIL_USERNAME=null MAIL_PASSWORD=null MAIL_ENCRYPTION=null MAIL_FROM_ADDRESS=null MAIL_FROM_NAME="${APP_NAME}" AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET= PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
users
table.distinct()
method to the table()
method. Next, we use the get()
method to retrieve the results of the query. We print all the distinct emails in the table as output.