Symfony Конструктор запросов: Как подсчитать строки ПОСЛЕ группировки? - PullRequest
0 голосов
/ 03 августа 2020

У меня есть такой запрос:

$qb = $this->createQueryBuilder('c')
            ->leftJoin('c.orders', 'o')
            ->innerJoin('c.club', 'cb')
            ->addselect('AVG(o.totalPrice) AS AverageValue')
            ->groupBy('c.id');


        $qb->setMaxResults($limit)->setFirstResult($offset);

Это извлекает клиентов из базы данных и вычисляет их среднюю стоимость заказа.

Мне нужно сделать список клиентов разбитым на страницы, но подсчетный запрос, который у меня ниже, подсчитывает строки ДО группы, давая мне неточное количество результатов для построения разбивки на страницы:

$qb = $this->createQueryBuilder('c')
            ->select('COUNT(c.id) AS TotalCustomers')
            ->leftJoin('c.orders','o')
            ->innerJoin('c.club','cb')
            ->groupBy('c.id')
            ->setMaxResults(1);

Я считаю, что для этого нужен подзапрос для фактического подсчета строк после группы by произошло, но я не уверен, как сделать подзапрос с помощью symfony построителя запросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...