Я работаю над проектом Symfony2, и я решил использовать KNPPaginatorBundle для создания простой системы разбиения на страницы. Поэтому я создал объект Product, и я хочу добавить paginator в действие indexAction (сгенерированное командой CRUD).
// Retrieving products.
$em = $this->getDoctrine()->getManager();
//$entities = $em->getRepository('LiveDataShopBundle:Product')->findAll();
$dql = "SELECT a FROM LiveDataShopBundle:Product a";
$entities = $em->createQuery($dql);
// Creating pagnination
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$entities,
$this->get('request')->query->get('page', 1),
20
);
Он отлично работает, но я хочу использовать репозиторий Product вместо создания запроса непосредственно в контроллере. Как я могу это сделать? Фактически, прямое добавление коллекции результатов в объект paginate происходит слишком медленно, потому что его загрузка всех продуктов затем разбивает на страницы ArrayCollection.
Спасибо заранее.
К4