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

(YII2)Как устроить поиск AR при поиске нескольких значений одного параметра?

Доброго времени суток.

Требуется решить задачу: в поиске AR за раз нужно обрабатывать более чем 1 значения для поиска по параметру.

Есть столбец города. В поиск вводим: Казань, Самара, Ростов и т.п. через разделитель. Поиск обрабатывает каждый из городов и выводим совпадения.

В моделе Search организовать перебор foreach не получилось. Разбивали запрос через 'explode' по запятой и отправляли в цикл.
foreach ($array as $city_str) {
            $query->andFilterWhere(['like', 'city', $city_str]);


Подскажите, в какую сторону копать?
  • Вопрос задан
  • 579 просмотров
Подписаться 1 Простой Комментировать
Решение пользователя Максим Тимофеев К ответам на вопрос (2)
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Я так понимаю что вместо
andFilterWhere
должно быть
orFilterWhere
или скорее всего так:
$query->andFilterWhere(['or',
['like', 'city', $city_str1],
['like', 'city', $city_str2],
....
['like', 'city', $city_str999],
]);

Потому как Ваш вариант найдет город, только если он называется как-то так "Казань-Самара-Ростовск"
Ответ написан