Skip to main content

Вложенные запросы при помощи Zend_Db_Select

Присутствие в коде внутреннего метода _join (файл Zend/Db/Select.php) следующей строки, дало понять, что не всё так безнадёжно:

Банально исходя из того, что для $name instanceof Zend_Db_Select заложена какая-то своя логика, пробуем следующее:

А в результате работы скрипта получаем:

Вуаля! Собрался абсолютно правильный запрос.
Это очень важная особенность, т.к. развязывает руки при написании более абстрактных моделей. К примеру, создаём несколько методов, которые не просто возвращают какие-то данные, а запросы в виде объектов Zend_Db_Select. Тогда эти запросы можно будет модифицировать, встраивать в другие, т.е. избегать написания одного и того же SQL кода в разных местах, а это уже большой плюс при поддержке и модификации кода.