【发布时间】:2011-01-12 11:55:30
【问题描述】:
我有以下 DQL (Doctrine1.2):
$dql->select('sum(t.column1) column1, t.column2')
->from('Table t')
->groupBy('t.column2')
->orderBy('column1');
但生成的 SQL 与以下 DQL 相同:
$dql->select('sum(t.column1) column1, t.column2')
->from('Table t')
->groupBy('t.column2')
->orderBy('t.column1'); //Ordered by column1 not by sum(t.column1)
是否可以强制 Doctrine 使用别名 column1 而不是列名 t.column1?
我需要这个,因为我希望两个非常相似的 DQL 的模型输出格式相同。 (最近由相同的模板呈现)。另一个 DQL 如下所示:
$dql->select('t.column1, t.column2')
->from('Table t')
->orderBy('t.column1');
可能的解决方法是选择sum(t.column1) 两次。第一次使用别名 column1,第二次使用其他别名,为什么在 passwd 之后使用 orderBy 函数,但这看起来不是最清晰的解决方案。
有什么建议吗?
谢谢
【问题讨论】:
标签: php mysql doctrine doctrine-1.2