推进,只选择一列

时间:2016-03-08 11:59:10

标签: propel propel2

我试图在propel中运行一个运行聚合函数(SUM)的查询。

我的代码

$itemQuery = SomeEntity::Create();
$itemQuery->withColumn('SUM(SomeColumn)', someColumn)
      ->groupBy(SomeForeignKey);

问题

理论上它应该返回每组项目的总和,但问题是推动尝试获取所有列,并且还将一堆其他列附加到group by子句。这会导致意外的分类,因此总和不正确。

无论如何,只是在我运行聚合函数的列上进行推送获取,以便group by语句也能正常工作?

1 个答案:

答案 0 :(得分:0)

您需要为列和外键添加select语句:

$itemQuery = SomeEntity::Create();
$itemQuery->select(array(SomeColumn, SomeForeignKey));
$itemQuery->withColumn('SUM(SomeColumn)', someColumn);
$itemQuery->groupBy(SomeForeignKey);