Я использую CDbCriteria
для сложных запросов, в которых я использую функцию with
.
Вы можете создать сложные критерии следующим образом:
$dbCriteria->with=array(
'<relation1>'=>array( 'condition'=>'<condition for given relation>',
'with'=>array('<relation2:relation of relation1>'
=>array(<conditions for relation2>)
)
'scopes'=><scopes for relation1>
)
);
Я не проверял, как *Здесь можно ввести 1008 *.
Используя области действия, вы также можете вставить несколько более сложных критериев и при этом сохранить условие поиска читабельным.
Это довольно мощно.Я еще не видел полный «учебник» по этому поводу;Я вроде сделал вывод из исходного кода.