$qb = $this->createQueryBuilder('c')
->select('a whole bunch')
->join('many joins')
->setFirstResult(0)
->setMaxResults(10)
上面的方法conding不适用于复杂的加入,我做
setMaxResults(10)
并获得2个结果,
setMaxResults(1000)
获得118个结果。学说建议使用其pagination类,因为它将正确处理计数/迭代。
如果我循环浏览new Paginator($query, true)
提供的迭代对象,那一切正常,但是调用存储库函数的代码期望从
getArrayResult
。
迭代器包含完整的实体对象,这意味着我必须重写所有使用方法而不是数组键。有一种方法可以使用带有阵列的Paginator?
add
Hydration Mode
到您的查询。
//Set query hydration mode
$query->setHydrationMode(\Doctrine\ORM\Query::HYDRATE_ARRAY);
thanks topaweł的答案,您必须在$ paginator-> getquery()
将是:
$paginator->getQuery()->setHydrationMode(\Doctrine\ORM\Query::HYDRATE_ARRAY);
P.S:对不起,我还没有声誉仅对Pawel的答案发表评论