Метод orWhereIn
Метод orWhereIn применяется к запросу Eloquent
или Query Builder и добавляет условие выборки,
при котором значение колонки должно совпадать с одним
из элементов переданного массива. При этом данное
условие соединяется с предыдущими через оператор ИЛИ.
Первым параметром передаётся имя колонки, вторым -
массив допустимых значений.
Синтаксис
<?php
Model::orWhereIn($column, $values);
?>
Пример
Давайте выберем статьи, у которых 'id' равно 1
ИЛИ статус равен 'published':
<?php
use AppModelsArticle;
$articles = Article::where('id', 1)
->orWhereIn('status', ['published', 'archived'])
->get();
foreach ($articles as $article) {
echo $article->title;
}
?>
Результат выполнения кода:
["article 1", "article 2", "article 3"]
Пример
Давайте используем orWhereIn для фильтрации
по нескольким значениям поля 'category':
<?php
use AppModelsPost;
$posts = Post::where('user_id', 5)
->orWhereIn('category', ['tech', 'science', 'design'])
->get();
foreach ($posts as $post) {
echo $post->title;
}
?>
Результат выполнения кода:
["post 5", "post 12", "post 23"]
Пример
Давайте комбинируем orWhereIn с другими условиями
для более сложной выборки по полю 'age':
<?php
use AppModelsUser;
$users = User::where('age', '>', 30)
->orWhereIn('age', [18, 21, 25])
->get();
foreach ($users as $user) {
echo $user->name;
}
?>
Результат выполнения кода:
["john", "alice", "bob", "carol"]
Смотрите также
-
метод
whereIn,
который добавляет условие через И -
метод
orWhere,
который добавляет произвольное условие через ИЛИ -
метод
whereNotIn,
который исключает записи по списку значений -
метод
get,
который выполняет запрос и возвращает коллекцию