На чистом sql запрос бы был таким:
SELECT email, count(*) as cnt FROM subscriber GROUP BY email;
Как в symfony лучше всего составить запрос, который бы вернул количество одинаковых значений для каждого значения?
mysql> SELECT email, count(*) as cnt FROM subscriber GROUP BY email; +-----------------+-----+ | email | cnt | +-----------------+-----+ | test@gmail.com | 1 | | test2@gmail.com | 3 | +-----------------+-----+ 2 rows in set (0,00 sec)
Такое не работает:
$subscriber = $em->getRepository('AppBundle:Subscriber')->createQueryBuilder('s') ->select('COUNT() as cnt') ->distinct() ->groupBy('s.email') ->getQuery(); $subscribers = $subscriber->getResult();