- Метод
distinct:
Методdistinctпозволяет извлекать уникальные записи из таблицы на основе определенного столбца. Он устраняет дубликаты и возвращает отдельный набор результатов. Вот пример:
$uniqueUsers = DB::table('users')->distinct()->get();
- Метод
distinct('column').
Вы можете указать столбец для методаdistinct, который будет использоваться при определении уникальности. Это полезно, если вы хотите получить уникальные записи на основе определенного столбца. Например:
$uniqueEmails = DB::table('users')->distinct('email')->get();
- Метод
distinct('column1', 'column2'):
В тех случаях, когда вам нужна уникальность на основе нескольких столбцов, вы можете передать несколько аргументов методуdistinct. Это позволяет получать отдельные записи на основе нескольких столбцов. Вот пример:
$uniqueCombination = DB::table('orders')->distinct('product_id', 'user_id')->get();
- Метод
distinct()с Eloquent ORM:
При работе с Eloquent ORM вы также можете добиться отличных результатов, используя методdistinct. Вот пример:
$uniquePosts = Post::distinct()->get();
- Метод
distinct('relation.column')в Eloquent ORM:
Если в ваших моделях Eloquent определены отношения, вы можете использовать методdistinctдля связанных столбцов. Это позволяет получать отдельные результаты на основе определенного столбца в связанной таблице. Например:
$uniqueCategories = User::has('posts')->distinct('posts.category_id')->get();
В Laravel 8 извлечение данных становится более рациональным благодаря различным методам. Независимо от того, используете ли вы построитель запросов или Eloquent ORM, эти методы предоставляют мощные способы получения уникальных данных из вашей базы данных. Используя методы distinct, distinct('column')и distinct('column1', 'column2'), вы можете легко манипулировать и фильтровать свои записи. Не забудьте максимально эффективно использовать эти различные методы, чтобы упростить процесс извлечения данных и улучшить опыт разработки на Laravel.