diff --git a/Adapter/DoctrineOrmAdapter.php b/Adapter/DoctrineOrmAdapter.php index 3d0bebf..a1f9ec7 100644 --- a/Adapter/DoctrineOrmAdapter.php +++ b/Adapter/DoctrineOrmAdapter.php @@ -42,7 +42,12 @@ public function getCountQuery() $qb = clone $this->query; - return $qb->select('COUNT(' . $a . ')')->resetDQLPart('orderBy')->setMaxResults(null)->setFirstResult(null); + return $qb + ->select($qb->getDQLPart('distinct') ? $qb->expr()->countDistinct($a) : $qb->expr()->count($a)) + ->resetDQLParts(array('orderBy', 'distinct')) + ->setMaxResults(null) + ->setFirstResult(null) + ; } /**