我想知道如何对从原则 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(
//....
如果您使用 EXTRA_LAZY 获取模式,Doctrine 在水合集合时将不会检索所有对象。当您对集合使用 slice() 方法时,它只会检索所需的子集。
class Customer {
/**
* @OneToMany(targetEntity="Order", fetch="EXTRA_LAZY")
*/
private $orders;
}
$cust = new Customer;
$orders = $cust->getOrders()->slice(100, 50);
您需要验证它如何与分页交互。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)