Метод whereIn
Метод whereIn применяется к запросу Eloquent или Query Builder и добавляет условие проверки, что значение столбца входит в указанный массив. Первым параметром передаётся имя столбца, вторым - массив допустимых значений. Метод возвращает тот же запрос с добавленным условием.
Синтаксис
<?php
Model::whereIn($column, $values);
?>
Пример
Давайте выберем статьи, у которых идентификатор равен 1, 3 или 5:
<?php
use App\Models\Article;
$res = Article::whereIn('id', [1, 3, 5])->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 1"
"article 3"
"article 5"
Пример
Также можно использовать массив строк для фильтрации по текстовым полям. Выберем статьи со статусами 'published' или 'draft':
<?php
use App\Models\Article;
$res = Article::whereIn('status', ['published', 'draft'])->get();
foreach ($res as $article) {
echo $article->title . ' - ' . $article->status;
}
?>
Результат выполнения кода:
"article 1 - published"
"article 2 - draft"
"article 4 - published"
Пример
Метод whereIn можно комбинировать с другими условиями. Например, выберем статьи с идентификатором из массива, у которых поле 'is_active' равно true:
<?php
use App\Models\Article;
$res = Article::whereIn('id', [2, 4, 6, 8])
->where('is_active', true)
->get();
foreach ($res as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
"article 2"
"article 4"
"article 8"
Смотрите также
-
метод
where,
который добавляет базовое условие сравнения -
метод
whereNull,
который фильтрует записи с NULL-значениями -
метод
whereBetween,
который выбирает записи в диапазоне значений -
метод
get,
который выполняет запрос и возвращает коллекцию