Doctrine 2のエンティティアソシエーションマッピングから得られた結果をページ付けするにはどうすればよいですか?例えばアソシエーションマッピングを使用したDoctrine 2ページネーション
class Customer {
/**
* @OneToMany(targetEntity="Order")
*/
private $orders;
}
についてはそのまま使用することができる。
$customer->getOrders();
Order
オブジェクトのコレクションを返すであろう。
問題は、多数の注文オブジェクトがある場合です。
カスタム照会を作成するときにはDoctrine\ORM\Tools\Pagination\Paginator
を使用できますが、アソシエーションマッピングを使用するときはクエリ生成にフックする方法はありません。
class Paginator {
/**
* @param Query|QueryBuilder $query A Doctrine ORM query or query builder.
*/
function __construct(
//....
私はここでまったく同じような状況を抱えているが、カスタムページネータクラスで動作するように欲求と私はページネータ優しいDQLクエリを配る私のエンティティのリポジトリにメソッドを追加しました。 – Brock