我希望在mysql中有这样的查询:
选择ax,ay,a.foo,sum(a.bar)为bar_sum from mytable a groupby ax union select ax,ay,a.bar,sum(a.foo)as foo_sum from mytable a groupby AY
这种格式是真的吗?以及如何在symfony中将其转换为教义查询?
非常感谢
答案 0 :(得分:6)
我认为使用DQL (doctrine query language)不支持UNION。但看起来有人能够解决这个问题,使用了令人讨厌的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;
}
}