Използвайте createSubquery()
функция за създаване на подзаявка в Doctrine. След това можете да вложите подзаявката в основната си заявка.
Пример
// build root query
$query = Doctrine_Query::create()
->from('Movie m')
->where('name = ?', 'Prometheus')
;
// build subquery
$subquery = $query->createSubquery()
->from('SeenMovie sm')
->where('m.name = sm.name')
;
// nest subquery and execute
$query->where('EXISTS (' . $subquery->getDql() . ')')->execute();
Допълнителна литература
Буллетоустойчив модел за създаване на подзаявки на Doctrine с всякаква сложност