doctrine query builder Получить одновременно сумму и количество SUM(), COUNT()
Primary tabs
Задача
Получить 2 результата с помощью одного запроса к БД: например, и сумму, и количество объектов.
Решение
- В запросе необходимые поля/расчитываемые значения указываем через запятую и присваиваем им псевдонимы:
$this->getEntityManager() ->createQueryBuilder() ->select('SUM(r.sum) as sum, COUNT(r) as count') ->from(Rejection::class, 'r') ->getQuery() ->getOneOrNullResult();
- В итоге получаем массив, индексами которого являются те самые псевдонимы:
$rejectionCountAndSum = $rejectionRepository->getCountAndSumOfRejections(); $rejectionCount = $rejectionCountAndSum['count']; $rejectionSum = $rejectionCountAndSum['sum'];
Источники
- Log in to post comments
- 1908 reads