В Laravel предложение «WHERE NOT» играет решающую роль в расширенной фильтрации и запросе данных из баз данных. Это позволяет исключать записи, соответствующие определенным условиям. В этой статье блога мы рассмотрим различные методы использования предложения «WHERE NOT» в Laravel, используя разговорный язык и практические примеры кода. Давайте углубимся и откроем для себя возможности передовых методов фильтрации!
Метод 1: метод «whereNot»
Самый простой способ выполнить запрос «WHERE NOT» в Laravel — использовать метод whereNot(). Это позволяет исключать записи по одному условию. Вот пример:
$users = DB::table('users')
->whereNot('status', 'active')
->get();
Этот запрос возвращает всех пользователей, чей статус не «активен».
Метод 2. Метод «whereNotIn».
Чтобы исключить записи на основе нескольких значений, вы можете использовать метод whereNotIn(). Он позволяет указать массив значений, которые необходимо исключить. Взгляните на следующий пример:
$users = DB::table('users')
->whereNotIn('role', ['admin', 'superuser'])
->get();
Этот запрос выбирает всех пользователей, чья роль не является ни «администратором», ни «суперпользователем».
Метод 3: Метод «whereNotExists»
Метод whereNotExists()позволяет выполнить запрос «WHERE NOT EXISTS», который проверяет отсутствие связанных записей в подзапросе. Давайте посмотрим пример:
$users = DB::table('users')
->whereNotExists(function ($query) {
$query->select(DB::raw(1))
->from('orders')
->whereRaw('orders.user_id = users.id');
})
->get();
Этот запрос извлекает всех пользователей, у которых нет соответствующих записей в таблице «заказы».
Метод 4: Метод «whereColumn»
Метод whereColumn()позволяет сравнивать два столбца и исключать записи на основе результата. Рассмотрим следующий пример:
$users = DB::table('users')
->whereColumn('updated_at', '>', 'created_at')
->get();
Этот запрос выбирает всех пользователей, у которых столбец «updated_at» больше, чем столбец «create_at».
В этой статье мы рассмотрели несколько методов использования возможностей запросов «WHERE NOT» в Laravel. Используя методы whereNot, whereNotIn, whereNotExistsи whereColumn, вы можете выполнять сложные операции фильтрации и исключать записи. которые соответствуют определенным условиям. Понимание этих методов позволит вам создавать более сложные и эффективные запросы в приложениях Laravel.
Не забывайте экспериментировать с этими методами и адаптировать их к своим конкретным случаям использования. Приятного кодирования!