5

Symfony2プロジェクトでKnpPaginatorBundleを使用しています。Doctrine 2のネイティブクエリをpaginatorインスタンスに渡そうとすると、エラーが発生しました。

One of listeners must count and slice given target

ネイティブクエリに対するこれの正しい実装の例はありますか?

バンドルのドキュメントには例(https://github.com/KnpLabs/KnpPaginatorBundle/blob/master/Resources/doc/custom_pagination_subscribers.md)がありますが、これはファイルシステムのみであり、これをdbクエリに変換する方法がわかりません。

手伝ってくれますか?

編集

私の質問:

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

残念ながら、バンドルはネイティブクエリでは機能しません。最善の解決策は(多くの不要な行をロードしますが)、クエリから結果を取得し、結果の配列をページ分割することです。

私は約5分前にこの問題に遭遇しました、参照:https ://groups.google.com/forum/#!msg/symfony2/cgYHeKej7jc/y9dHX-qvTU4J

于 2012-06-24T01:12:57.613 に答える