Il existe une fonctionnalité de pagination, qui est intégrée à la version 2.2, et fait quelque chose de similaire à ce que vous recherchez :
Mais je ne crois pas qu'il utilise SQL_CALC_FOUND_ROWS
:il effectue deux (ou trois, selon la façon dont vous le configurez) requêtes distinctes pour obtenir les résultats, et c'est souvent la bonne façon de procéder.
Si vous insistez vraiment pour utiliser la fonctionnalité MySQL, je pense que vous devez utiliser du SQL brut et un mappage d'ensemble de résultats. Voici un exemple :
Nombre de lignes dans Doctrine 2
Sur une note complètement séparée, testez si SQL_CALC_FOUND_ROWS
vaut vraiment la peine d'être utilisé pour votre requête particulière. Count est bien optimisé dans MySQL pour des requêtes comme celle que vous faites. Voir cette question en particulier :
Lequel est le plus rapide ? SELECT SQL_CALC_FOUND_ROWS FROM `table`, ou SELECT COUNT(*)