使用createQueryBuilder计算连接的行

时间:2013-06-11 05:48:33

标签: php symfony doctrine

我有一个连接多个表的查询,

$qb = $dbm->createQueryBuilder();

$qb->select('job', 'tasks')
   ->from('MyJobBundle:Job', 'job')
   ->innerJoin('job.tasks', 'job_tasks');

这按预期工作,我为每项工作都有一系列任务。我想只计算任务数量但不返回它们。像,

$qb = $dbm->createQueryBuilder();

$qb->select('job', 'count(job.tasks) as num_tasks')
   ->from('MyJobBundle:Job', 'job')
   ->innerJoin('job.tasks', 'job_tasks');

我该怎么做?

1 个答案:

答案 0 :(得分:0)

试试这个:

$qb->select('count(job_tasks) as num_tasks')
   ->from('MyJobBundle:Job', 'job')
   ->innerJoin('job.tasks', 'job_tasks')
   ->groupBy('job')
   ->getQuery()
   ->getResult();

应该返回每个job值的计数