我们可以使用 KnpPaginatorBundle 在 Symfony 4 中基于 2 个实体创建分页吗?

Can we create a pagination based on 2 entities in Symfony 4 with KnpPaginatorBundle?

如果 KnpPaginatorBundle 可以处理基于 2 个(或更多)实体的分页,我在网上找不到任何地方。

假设我的网站上有一个社交页面,我想在其中列出上周关于给定主题的所有 reddits 和 Twitter 帖子。我一直在删除这些数据并将其存储在我的数据库中。

现在我想用分页包以方便的方式显示它。为此,我想合并 50/50 一组实体,一方面来自 reddit,另一方面来自 twitter。

这可以吗?如果不是,您建议如何对一组显示在一起的 2 个不同实体进行分页?

请注意,这两个实体都通过 ManyToMany 链接到另一个实体主题,但我不认为 knppaginatorbundle 可以处理基于关系实体的分页(它可以使用 offset 和 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));
    }