okd*_*wit 2 pagination symfony doctrine-orm
我正在处理一个相当复杂的查询构建器(在存储库函数中),它使用很多东西partial c.{id,name,created}和一堆fetchjoins来尝试保持数据量和查询量.
但这还不够,但无论如何前端表示都是分页的,所以我想在需要时进行一些ajax调用来获取数据.
$qb = $this->createQueryBuilder('c')
->select('a whole bunch')
->join('many joins')
->setFirstResult(0)
->setMaxResults(10)
Run Code Online (Sandbox Code Playgroud)
上面的方法不适用于复杂的连接,我做了setMaxResults(10)2个结果,setMaxResults(1000)得到118个结果.Doctrine建议使用他们的Pagination类,因为它将正确处理计数/迭代.
现在,如果我遍历由提供的Iterator对象new Paginator($query, true),那么一切正常,但调用存储库函数的代码期望从中获取一个数组getArrayResult.
迭代器包含完整的实体对象,这意味着我必须重写所有服务以使用方法而不是数组键.
有没有办法将Paginator与ArrayResult一起使用?
添加Hydration Mode到您的查询.
//Set query hydration mode
$query->setHydrationMode(\Doctrine\ORM\Query::HYDRATE_ARRAY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1791 次 |
| 最近记录: |