Несмотря на то, что это старое приложение, Google набирает высокие баллы в поисках доктрины.Вскоре он заставил меня искать «доктрина-пагинатор», и после того, как я настаивал на том, что Google это именно то, что я искал (не на доктринальную пагинацию), у меня все еще возникали проблемы с поиском способа его использования.не мог найти хорошую документацию по объекту paginator.Тем не мение;чтобы получить результаты, я использовал getIterator, и он работал нормально.
В моем коде есть источники, содержащие ссылки rss, и статьи, являющиеся статьями из ленты rss.Таким образом, в этом примере я получу один источник и все его статьи.Этот код от Symfony.
// get the articles (latest first) from source 743
$q=$this->getDoctrine()->getManager()
->createQuery('select s, a from MyCompanyRssBundle:Source s
join s.Articles a
where s.id = :id
order by a.id desc')
->setParameter('id',743);
$q->setMaxResults(1); // this limits Articles to be only 1
// when using $q->getResult();
$sources=new Paginator($q, $fetchJoin = true);
$sources=$sources->getIterator();
var_dump($sources[0]->getArticles());