Метод whereNotIn
Метод whereNotIn применяется к запросу Eloquent или Query Builder и добавляет условие, которое исключает записи, если значение указанной колонки не входит в переданный массив. Первым параметром передаётся имя колонки, вторым - массив значений, которые должны быть исключены из выборки.
Синтаксис
<?php
Model::whereNotIn($column, $values);
?>
Пример
Давайте получим все статьи, кроме тех, у которых id равен 1 или 3:
<?php
use AppModelsArticle;
$res = Article::whereNotIn('id', [1, 3])->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 2", "article 4", "article 5"]
Пример
Давайте исключим пользователей с определёнными именами:
<?php
use AppModelsUser;
$res = User::whereNotIn('name', ['user 1', 'user 3'])->get();
foreach ($res as $user) {
echo $user->name;
}
?>
Результат выполнения кода:
["user 2", "user 4", "user 5"]
Пример
Давайте используем whereNotIn вместе с другими условиями для более сложной фильтрации:
<?php
use AppModelsArticle;
$res = Article::where('status', 'published')
->whereNotIn('category_id', [2, 4])
->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 3", "article 5"]
Смотрите также
-
метод
whereIn,
который фильтрует по списку значений -
метод
whereNull,
который выбирает записи с пустым полем -
метод
whereNotNull,
который выбирает записи с непустым полем -
метод
get,
который выполняет запрос и возвращает коллекцию