如何限制在教义2中的结果集大小?
如果我正在使用respository类的findBy方法,我怎样才能限制结果集的大小?
在Doctrine 2.1方法中,EntityRepository#findBy()现在接受用于sorting,限制和偏移的附加参数。
查看完整列表2.1中的新function (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 );
对于DQL你有:QueryBuilder setMaxResults(integer maxResults)。
通用库类的findBy()方法不支持这一点。
我将编写自己的存储库(如此处所述 )并覆盖findBy()以获取其他参数。 您的新实现可以使用查询生成器,也可以使用plain-old-DQL来构build正确的查询。 (我会使用querybuilder,因为你可能只是将$ critera param正确传递到QueryBuilder :: where() )