В Laravel обработка нулевых значений в запросах к базе данных является общим требованием. Независимо от того, работаете ли вы со столбцами, допускающими значения NULL, или вам необходимо отфильтровать записи NULL, Laravel предоставляет несколько методов и приемов для эффективной обработки значений NULL. В этой статье мы рассмотрим различные разговорные методы с примерами кода для обработки нулевых значений в Laravel.
Метод 1: использованиеwhereNull()
Метод whereNull()позволяет фильтровать записи, в которых значение определенного столбца равно нулю. Допустим, у нас есть таблица usersсо столбцом, допускающим значение NULL, deleted_at. Чтобы получить всех пользователей, у которых deleted_atимеет значение null, вы можете использовать следующий фрагмент кода:
$users = DB::table('users')
->whereNull('deleted_at')
->get();
Метод 2: использование orWhereNull()
Иногда вам может потребоваться получить записи, в которых столбец имеет значение NULL или имеет определенное значение. Метод orWhereNull()позволяет добиться этого. Например, чтобы получить пользователей с нулевым столбцом deleted_atили статусом «активный», вы можете использовать следующий код:
$users = DB::table('users')
->whereNull('deleted_at')
->orWhere('status', 'active')
->get();
Метод 3: использованиеwhereNotNull()
И наоборот, если вы хотите отфильтровать записи, в которых значение столбца не равно нулю, вы можете использовать метод whereNotNull(). Допустим, мы хотим получить всех пользователей, у которых в столбце emailуказано ненулевое значение. Код будет выглядеть так:
$users = DB::table('users')
->whereNotNull('email')
->get();
Метод 4: ИспользованиеwhereColumn()
Метод whereColumn()позволяет сравнивать два столбца или столбец и значение. В контексте обработки значений NULL вы можете использовать этот метод, чтобы проверить, равны ли два столбца или один из них имеет значение NULL. Вот пример, который извлекает пользователей, у которых столбец emailравен столбцу usernameили столбец emailимеет значение NULL:
$users = DB::table('users')
->whereColumn('email', '=', 'username')
->orWhereNull('email')
->get();
Обработка нулевых значений в запросах Laravel упрощается с помощью различных методов, таких как whereNull(), orWhereNull(), whereNotNull()и whereColumn(). Эти методы позволяют эффективно фильтровать, комбинировать и сравнивать столбцы, обеспечивая гибкость при запросе нулевых значений. Используя эти методы, вы можете гарантировать, что ваше приложение Laravel легко и эффективно обрабатывает нулевые значения.