Я не мог найти нигде в Интернете, может ли KnpPaginatorBundle обрабатывать разбиение на страницы на основе 2 (или более) объектов.
Скажем, у меня есть социальная страница на моем веб-сайте, где я хотел бы перечислить все сообщения Reddit и Twitter за прошлую неделю по заданной теме. Я собирал и хранил эти данные в своей БД.
Теперь я хотел бы отобразить его удобным образом с помощью связки пагинации. Для этого я хотел бы объединить 50/50 набор объектов, с одной стороны, Reddit, а с другой стороны, twitter.
Возможно ли это сделать? Если нет, что бы вы рекомендовали сделать для разбивки на страницы набора из двух разных сущностей, отображаемых вместе?
Обратите внимание, что обе сущности связаны с другой сущностью. Тема с ManyToMany, но я не думаю, что knppaginatorbundle может обрабатывать разбиение на страницы на основе реляционной сущности (может ли он выполнять левое соединение со смещением и maxresult? Не уверен)
Спасибо!
Пожалуйста, это просто трюк, который я применил в одном из своих проектов.






Я пробовал что-то подобное в одном из своих проектов:
{
$em = $this->getDoctrine()->getManager();
$query = "SELECT f1,f2,f3 FROM table1
UNION
SELECT f1,f2,f3 FROM table2";
$statement = $em->getConnection()->prepare($query);
$statement->execute();
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query, /* query NOT result */
$request->query->getInt('page', 1)/*page number*/,
10/*limit per page*/
);
// parameters to template
return $this->render('...', array('pagination' => $pagination));
}
Гений. Спасибо
В итоге я создал свою собственную систему разбивки на страницы, но я приму ответ @Amira, если когда-нибудь кто-то будет искать ответ по этому поводу. Спасибо Амире за вашу помощь.