リポジトリクラスのfindByメソッドを使用している場合、結果セットのサイズを制限するにはどうすればよいですか?
In Doctrine 2.1メソッドEntityRepository#findBy()は、順序、制限、オフセットの追加パラメータを受け入れるようになりました。
doctrine 2.1 の全新機能リストを参照してください (404) findByおよびfindOneByへの関連リンク
例:
public function findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
使用法:
$product = $repository->findBy(
array('name' => 'foo'),
array('price' => 'ASC'),
$myLimit,
$myOffset
);
QueryBuilder::setMaxResults(integer $maxResults)
汎用リポジトリクラスのfindBy()メソッドはこれをサポートしていません。
独自のリポジトリを作成し( ここに概要を示します )、findBy()をオーバーライドして追加のパラメータを取得します。新しい実装では、クエリビルダーまたはplain-old-DQLを使用して適切なクエリを構築できます。 (おそらく$ critera paramを QueryBuilder :: where() に直接渡すことができるので、クエリビルダーを使用します)