Existe um recurso de paginação, embutido no 2.2, e faz algo semelhante ao que você está procurando:
https://www.doctrine -project.org/projects/doctrine-orm/en/latest/tutorials/pagination.html#pagination
Mas não acredito que use
SQL_CALC_FOUND_ROWS
:ele faz duas (ou três, dependendo de como você o configura) consultas separadas para obter os resultados, e essa é frequentemente a maneira correta de proceder. Se você realmente insiste em usar o recurso MySQL, acho que precisa usar SQL bruto e um mapeamento de conjunto de resultados. Aqui está um exemplo:
Contagem de linhas no Doctrine 2
Em uma nota completamente separada, teste se
SQL_CALC_FOUND_ROWS
vale a pena usar para sua consulta específica. Count é bem otimizado no MySQL para consultas como a que você está fazendo. Veja esta pergunta em particular:Qual é o mais rápido? SELECT SQL_CALC_FOUND_ROWS FROM `table`, ou SELECT COUNT(*)