2011-10-10 53 views
5

奇怪的是,Doctrine2助手中沒有SUM()等價物嗎?有最大值,最小值,計數...我瞎了嗎?學說2 SUM()等價幫助?

// Example - $qb->expr()->avg('u.age') 
public function avg($x); // Returns Expr\Func 

// Example - $qb->expr()->max('u.age') 
public function max($x); // Returns Expr\Func 

// Example - $qb->expr()->min('u.age') 
public function min($x); // Returns Expr\Func 

// Example - $qb->expr()->abs('u.currentBalance') 
public function abs($x); // Returns Expr\Func 

// Example - $qb->expr()->sqrt('u.currentBalance') 
public function sqrt($x); // Returns Expr\Func 

// Example - $qb->expr()->count('u.firstname') 
public function count($x); // Returns Expr\Func 

回答

8

看起來像。

// Example - $qb->expr()->sum('u.id', '2') => u.id + 2 
public function sum($x, $y); // Returns Expr\Math instance 

http://www.doctrine-project.org/docs/orm/2.0/en/reference/query-builder.html

編輯

我錯了。 OP不會明顯失明:看起來並不是一個sum()幫手。

你仍然可以使用總和的QueryBuilder像這樣:

$qb->add('select', 'SUM(u.id)') 
    ->add('from', 'User u') 
... 
+1

+1這只是下'/ **算術對象** /'部分,而不是與運營商聚集的休息,這可能是爲什麼OP錯過了它。 – mellamokb

+1

我在談論SUM集合函數,這是算術函數像分割,相減。 -1 – gremo

+0

採取了@格雷莫 - 答案更新。 –