Метод orWhereNull
Метод orWhereNull применяется к запросу Eloquent или Query Builder и добавляет условие, которое выбирает записи, где значение указанного поля равно NULL. В отличие от whereNull, этот метод добавляет условие через оператор OR, что позволяет комбинировать его с другими условиями. Первым и единственным параметром передаётся имя колонки.
Синтаксис
<?php
Model::orWhereNull($column);
?>
Пример
Давайте найдём все статьи, у которых поле 'deleted_at' является NULL:
<?php
use AppModelsArticle;
$articles = Article::orWhereNull('deleted_at')->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3"]
Пример
Давайте выберем все записи, у которых поле 'published_at' равно NULL:
<?php
use AppModelsPost;
$posts = Post::orWhereNull('published_at')->get();
foreach ($posts as $post) {
echo $post->title;
}
?>
Результат выполнения кода:
["post 1", "post 3", "post 5"]
Пример
Давайте получим всех пользователей, у которых поле 'deleted_at' равно NULL или 'is_active' равно true:
<?php
use AppModelsUser;
$users = User::where('is_active', true)
->orWhereNull('deleted_at')
->get();
foreach ($users as $user) {
echo $user->name;
}
?>
Результат выполнения кода:
["user 1", "user 2", "user 4", "user 5"]
Пример
Давайте отфильтруем категории, у которых поле 'parent_id' равно NULL, или 'status' равно 'published':
<?php
use AppModelsCategory;
$categories = Category::where('status', 'published')
->orWhereNull('parent_id')
->get();
foreach ($categories as $category) {
echo $category->name;
}
?>
Результат выполнения кода:
["category 1", "category 3", "category 4"]
Пример
Давайте выберем комментарии, у которых поле 'approved_at' равно NULL или 'user_id' равно 5:
<?php
use AppModelsComment;
$comments = Comment::where('user_id', 5)
->orWhereNull('approved_at')
->get();
foreach ($comments as $comment) {
echo $comment->text;
}
?>
Результат выполнения кода:
["comment 1", "comment 3", "comment 5"]
Смотрите также
-
метод
whereNull,
который добавляет условие через И -
метод
whereNotNull,
который выбирает записи с непустым полем -
метод
orWhere,
который добавляет условие через ИЛИ -
метод
orWhereIn,
который добавляет условие через ИЛИ по списку значений