私はSymfonyでDoctrine ORMとページネーションメソッドを使いたいと思います。 KnpPaginatorBundleはシンプルで使いやすいです。また、クエリを簡単に再利用してテストできるため、Doctrineリポジトリも使用しています。symfony 2でdoctrineを効率的に改ページするにはどうすればよいですか?
このバンドルは、私が見つけたものと同じように機能します。パラメータとしてクエリビルダが必要です。各リポジトリにパラメータ(またはヌル)としてpaginatorを機能させるよりも、これを行うより良い方法はありますか?私はすべてのクエリの結果をページングしたくないので、説明されたソリューションが最高だとは思っていません。私はsugestionsを探しています。
パフォーマンス面では、結果をオブジェクトにマッピングするオーバーヘッドを回避し、ネットワークトラフィックを減らすことができ、データベースサーバーは多数のレコードを読み書きする必要がありません。どのようにそのバンドルが動作するのか分かりませんが、どのクエリが実行されたかを確認して、クエリ自体でページネーションが実行されているかどうかを確認できます。もしそうであれば、あなたは行くのが良いです。何度も同じクエリを作成したくない場合は、リポジトリで定義します。http://symfony.com/doc/2.0/book/doctrine.html#custom-repository-classes – Xocoatzin
データベースレベルでページを設定する場合は、すべてのレコードを数えて、そこにページがいくつあるかを計算する必要があります。このためにキャッシュを使用したり、テーブルの長さを追跡したりして、これを避けることができます。 – Xocoatzin
https://github.com/KnpLabs/knp-components –