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

Как сделать такой Where в SQL-запросе на ActiveRecord?

Приветствую!
Есть запрос к БД с таким условием:

...
WHERE ( `feature_id`, `value` ) IN (  ( 424, 'Бензин' ), ( 424, 'Гибрид' ), ( 424, 'Дизель' )  )
OR ( `feature_id`, `value` ) IN (  ( 425, 'Автоматическая' ), ( 425, 'Ручная' )  )
OR ( `feature_id`, `value` ) IN (   ( 426, 'Седан' ), ( 426, 'Фургон' ), ( 426, 'Универсал' )  )
...


Как это сделать на AR?
Конечно, можно под циклом "налепить" через orWhere, но хочется красиво объединять, т.к. фильтров много и разных, т.е. хочется, чтобы ActiveRecord отдал запрос именно в таком виде...
  • Вопрос задан
  • 205 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 1
@yiiworld
$arQuery->AutoParams::find()
...
->where[['in', ['feature_id','value'], [ [424, 'Бензин'], [424, 'Гибрид'], [424, 'Дизель']]]]
-orWhere(['in', ['feature_id','value'], [ [425,'Автоматическая'], [425, 'Ручная']]])
-orWhere(['in', ['feature_id','value'], [ [426, 'Седан'], [426, 'Фургон'], [426, 'Универсал'] ]])
...
->all();
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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