1
各量的總和所有的量,這是我原來的代碼
public function getUserForThisTask($projectId)
{
$qb = $this->createQueryBuilder('t')
->select('t.createdby','t.totalhour')
->where('t.project = :project_id')
->setParameter('project_id', $projectId);
return $qb->getQuery()
->getResult();
}
這將返回
user hours
user1 = 20
user2 = 30
user1 = 3
user1 = 4
現在我通過添加groupBy來重構
public function getUserForThisTask($projectId)
{
$qb = $this->createQueryBuilder('t')
->select('t.createdby','t.totalhour')
->groupBy('t.createdby')
->where('t.project = :project_id')
->setParameter('project_id', $projectId);
return $qb->getQuery()
->getResult();
}
現在,這將是結果,正如你看到的,涉及到USER1一些值不包括
user hours
user1 = 20
user2 = 30
現在,我想這總涉及到每個用戶的所有小時
user hours
user1 = 27
user2 = 30
你將如何做什麼?
我想你需要'SUM(t.totalHour)'在第二個查詢,否則只會選擇第一組,而不是共計起來。 – qooplmao