Я считаю, что UNION не поддерживается с использованием DQL (язык запросов доктрины) .Но похоже, что кто-то смог обойти проблему, используя неприятный heredoc .
Или вы можете просто добавить собственный метод в класс однорангового объекта и написать запрос на нативномsql.
- Изменить -
В качестве примера использовать (не проверено):
// Assuming you have the default doctrine setup, where non-object classes are
// appended with Table (your object being Foo)
class FooTable
{
public static function getFooBarUnion()
{
$sql = "select a.x, a.y, a.foo, sum(a.bar) as bar_sum from mytable a groupby a.x union select a.x, a.y, a.bar, sum(a.foo) as foo_sum from mytable a groupby a.y";
$results = Doctrine_Query::create()->query($sql);
return $results;
}
}