原则2,在离开加入时计算

时间:2016-03-29 22:20:49

标签: doctrine-orm

我有这个:

->select('COUNT(x)')->setMaxResults(null)->setFirstResult(0)->getQuery()->getSingleScalarResult();
只要我没有加入,这就有效。如果我已经离开了联接,它也将计算重复的左列。如何防止?

1 个答案:

答案 0 :(得分:1)

您可以通过分组来实现:

$qb->select('COUNT(x)')
   ->leftJoin('x.another_table', 'a')
   ->groupBy('x.id')
   ->setMaxResults(null)
   ->setFirstResult(0)
   ->getQuery()
   ->getSingleScalarResult();