Задать вопрос
@photosho

Есть ли аналог «where» с несколькими полями?

Здравствуйте. Вопрос в следующем. Есть таблица с пользователями, по которой ищу совпадение столбца "Фамилия" с частью подстроки:

User::where("surname", "like", "%str%")...

Теперь появилась необходимость искать совпадение одной и той же подстроки с несколькими полями, например, с именем:

User::where("surname", "like", "%str%")->orWhere("name", "like", "%str%")...


Так вот, есть ли возможность сократить запрос, вместо использования "orWhere" как-нибудь передавая несколько значений полей для "where" одновременно? Пробовал так и не получилось:

User::where(["surname", "name"], "like", "%str%")...
  • Вопрос задан
  • 162 просмотра
Подписаться 1 Оценить Комментировать
Решения вопроса 1
Shutik
@Shutik
Погромист халявщик
$query= User::query();
foreach (['surname', 'name'] as $item) {
    $query->orWhere($item, "like", '%str%');
}
$result = $res->get();
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AndrewHaze
@AndrewHaze
Умею гуглить яндексом
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы