5

我在 Symfony2 项目中使用 KnpPaginatorBundle。当我尝试将 Doctrine 2 本机查询传递给分页器实例时,出现错误:

One of listeners must count and slice given target

有没有人为一些本机查询正确实现这个的一些例子?

在捆绑的文档中,我看到了示例(https://github.com/KnpLabs/KnpPaginatorBundle/blob/master/Resources/doc/custom_pagination_subscribers.md),但仅适用于文件系统,我不知道如何将其转换为数据库查询。

你能帮我吗?

编辑

我的查询:

SELECT a.*, highest_rated_book.*
  FROM authors a
  LEFT JOIN (SELECT * FROM books b ORDER BY b.rate DESC) AS highest_rated_book
  ON a.id = highest_rated_book.author_id
  GROUP BY highest_rated_book.author_id
  ORDER BY a.id;

和表格:

author (id, first_name, last_name)
books (id, title, rate, author_id)
4

1 回答 1

4

不幸的是,该捆绑包不适用于本机查询。最好的解决方案(尽管它加载了许多不需要的行)是从查询中获取结果并对结果数组进行分页。

我大约五分钟前遇到了这个问题,参考:https ://groups.google.com/forum/#!msg/symfony2/cgYHeKej7jc/y9dHX-qvTU4J

于 2012-06-24T01:12:57.613 回答