Laravel, одна из самых популярных платформ PHP, предоставляет мощный построитель запросов и выразительную ORM под названием Eloquent. В этой статье мы рассмотрим расширенные методы запросов в Laravel, продемонстрировав различные методы с примерами кода. Эти методы помогут вам писать эффективные и сложные запросы, используя при этом весь потенциал построителя запросов Laravel и Eloquent ORM.
- Базовые запросы.
Давайте начнем с основных методов запросов, доступных в Laravel.
$users = DB::table('users')->get();
- Выбор определенных столбцов.
Вы можете выбрать определенные столбцы из таблицы, используя методselect().
$users = DB::table('users')->select('name', 'email')->get();
- Условные предложения WHERE.
Laravel предоставляет несколько методов для добавления условий в ваши запросы, напримерwhere(),orWhere(),whereIn(),whereBetween()и т. д.
$users = DB::table('users')
->where('votes', '>', 100)
->orWhere('name', 'John')
->get();
- Соединения.
Вы можете выполнять различные типы соединений, включая внутренние соединения, левые соединения и правые соединения, используя методjoin().
$users = DB::table('users')
->join('contacts', 'users.id', '=', 'contacts.user_id')
->select('users.*', 'contacts.phone')
->get();
- Агрегаты.
Laravel поддерживает различные агрегатные функции, такие какcount(),sum(),avg(),max()иmin().
$users = DB::table('users')->count();
- Подзапросы.
Вы можете использовать подзапросы в своих запросах с помощью методаwhereIn().
$users = DB::table('users')
->whereIn('user_id', function ($query) {
$query->select('id')->from('admins');
})
->get();
- Упорядочение и ограничение:
Laravel предоставляет такие методы, какorderBy(),latest(),oldest()иlimit(), чтобы упорядочить и ограничить результаты запроса.
$users = DB::table('users')
->orderBy('name', 'desc')
->take(10)
->get();
В этой статье мы рассмотрели несколько продвинутых методов запросов в Laravel, включая базовые запросы, выбор определенных столбцов, условные предложения WHERE, соединения, агрегаты, подзапросы и упорядочивание/ограничение. Освоив эти методы, вы сможете эффективно извлекать, манипулировать и преобразовывать данные из вашей базы данных с помощью построителя запросов Laravel и Eloquent ORM.