$result = Company::model()->with(
'staffs',
'staffs.phoneStaffs',
'staffs.emailStaffs'
)->findAll(array(
'condition'=> 'staffs.client_id=:idClientId '
. 'and phoneStaffs.client_id=:idClientId '
. 'and emailStaffs.client_id=:idClientId',
'params'=> array(':idClientId' => $idClientId)));
При таком запросе результат будет пустым, если не найдётся ни одного emailStaffs.client_id=:idClientId. Как в таком случае проигнорировать пустое условие и выдать результат, но уже без наличия emailStaffs в результирующей выборке? В Yii2 для такого случая есть filterWhere().