У меня есть такой запрос:
$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 построителя запросов.