Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Doctrine Query para encontrar o número total de Result no MySQL com LIMIT


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(*)