我知道Doctrine's Paginator,但它适用于DQL级别。我正在寻找的是一种在存储库级别实现分页的方法。
我看到的第一种方式是在回购中填充分页:
让所有方法接受另外两个参数$offset
和$limit
,或
在我的仓库中实施setOffset
和setLimit
方法会影响其所有find...
方法(由于DefaultRepositoryFactory
实施而效果不佳, which behaves as a Singleton Factory)。
另一种方法是在this question中创建ResultBuilder
课程。我不太喜欢这种方法,因为它适用于预取的结果集,即使使用Doctrine的延迟加载也可以进行额外的数据检索。
该主题还有哪些其他方法,哪种方法最适合Doctrine2 ORM用户?
答案 0 :(得分:0)
我发现的一个可能的解决方案是创建一个相应的Filter(使用LIMIT语句),如official documentation中所述,并在使用它的查询方法(包括自定义)之前将该过滤器应用于repo。