Спасибо большое.
С этой частью всё предельно понятно, это я делал и сам:
Цитата:
->informationsystemItems()
->queryBuilder()
->leftJoin('informationsystem_groups', 'informationsystem_group_id','=','informationsystem_groups.id', array(
array('AND' => array('informationsystem_groups.deleted', '=', 0))
)
)
Было очевидно, что нужно добавить условие. Но проблема была - как.
Во второй части:
->open()
->where('informationsystem_group_id', '=', 0)
->setOr()
->where('informationsystem_groups.id', 'IS NOT', NULL)
->close();
Это как раз то, чего мне не хватало. Расскажите, пожалуйста, как это работает? Мне сразу кажется, что это еще условие для уже сделанной выборки leftjoin. Но в ней ведь уже нет записей с ид группы = 0, в силу условия объединения по общему полю ид группы. Поэтому выборка дала бы пустой результат. Очевидно, что роль играют методы open() и close(), но как они работают?