Почему не используйте для построения запросов query, в котором строится запрос с помощью addselect(), where() и т.д.? Можно также пользоваться методом getquery() в конце построителя запроса, чтобы проанализировать, что произойдет в запросе, чтобы уже после делать выбор какой fetch использовать, fetchcollection, fetchobject или fetchall?
Почему не используйте для построения запросов query, в котором строится запрос с помощью addselect(), where() и т.д.? Можно также пользоваться методом getquery() в конце построителя запроса, чтобы проанализировать, что произойдет в запросе, чтобы уже после делать выбор какой fetch использовать, fetchcollection, fetchobject или fetchall?