Вы устали иметь дело с нулевыми значениями в своих приложениях Laravel? Не смотрите дальше! В этой статье блога мы рассмотрим чудеса метода whereNotNullLaravel — мощного инструмента для фильтрации ненулевых значений в запросах к базе данных.
Но сначала давайте поговорим о том, что на самом деле делает whereNotNull. Как следует из названия, он позволяет получать записи базы данных, в которых значение определенного столбца не равно нулю. Это особенно полезно, если вы хотите исключить записи с отсутствующими или пустыми значениями, чтобы ваши данные всегда были чистыми и надежными.
Теперь давайте углубимся в несколько практических примеров использования whereNotNullв вашем коде:
-
Базовое использование:
$users = DB::table('users') ->whereNotNull('email') ->get();В этом примере мы извлекаем всех пользователей из таблицы
users, столбецemailкоторого не равен нулю. Это может быть удобно, если вы хотите получить информацию только о пользователях с действительными адресами электронной почты. -
Связка с другими методами запроса:
$products = Product::whereNotNull('price') ->where('stock', '>', 0) ->orderBy('created_at', 'desc') ->get();Здесь мы фильтруем модель
Product, чтобы получить только те продукты с ненулевым значениемprice, доступнымиstock, и сортируем их по даты их создания в порядке убывания. Вы можете объединитьwhereNotNullс другими методами запроса для создания более сложных и точных запросов. -
Объединение с отношениями:
$posts = Post::whereNotNull('published_at') ->whereHas('category', function ($query) { $query->whereNotNull('name'); }) ->get();В этом примере мы извлекаем все сообщения с ненулевой датой
published_atи принадлежащие к категории с ненулевой датойname. Здесь показано, какwhereNotNullможно использовать в сочетании со связями для фильтрации записей в связанных таблицах. -
Использование красноречивой модели:
class User extends Model { public function scopeActive($query) { return $query->whereNotNull('activated_at'); } }Определив метод области действия в вашей модели Eloquent, вы можете инкапсулировать логику
whereNotNullи повторно использовать ее в своей кодовой базе. В этом случае областьactiveвозвращает всех пользователей, у которых есть ненулевая отметка времениactivated_at.
Благодаря этим примерам вы теперь имеете четкое представление о том, как использовать метод whereNotNullв Laravel для фильтрации ненулевых значений в запросах к базе данных. Чистые и надежные данные находятся на расстоянии одного запроса!