2016-03-08 134 views
0

我想在運行聚合函數(SUM)的propel中運行查詢。推進,只選擇一列

我的代碼

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

問題

它理論上應該回報每一位組項目的總和,但問題是推動試圖獲取所有列,還追加了一堆其他列到group by子句。這導致意想不到的分類,因此總和是不正確的。

是否有反正使propel獲取只是我正在運行聚合函數的列,以便group by語句也能工作?

回答

0

您需要添加一個select語句的列和外鍵:

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