У меня возникла проблема с составлением WHERE для поиска. Подскажите, пожалуйста.
Мне нужно составить с помощью средств Yii2 вот такой SQL:
Код: Выделить всё
SELECT `table1`.* FROM `table1`
LEFT JOIN `table2` ON table1.table2_id = table2.id
LEFT JOIN `table3` ON table2.param1 = table3.id
LEFT JOIN `table4` ON table2.param2 = table4.id
LEFT JOIN `table5` ON table5.id = table1.param3
WHERE
(`table3`.`active` = '1' OR `table2`.`param1` IS NULL) AND
(`table4`.`active` = '1' OR `table1`.`param2` IS NULL) AND
(`table5`.`active` = '1' OR `table1`.`param3` IS NULL)
Model::find()->where(['table3.active' => 1])->orWhere(['table2.param1' => null])->andWhere(... и так далее
То вложенность скобок будет совершенно не такая, как мне нужно. Как это можно исправить? findBySql не предлагать, я работаю с легаси-проектом, и этот объект потом уходит дальше по коду, т.к. заменить его SQL нельзя.