doctrine2 – Doctrine 2 fetch =“EAGER”

前端之家收集整理的这篇文章主要介绍了doctrine2 – Doctrine 2 fetch =“EAGER”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Doctrine中,您可以在实体中设置获取模式,以便通过一个查询获取所有数据,而不是延迟加载所有数据.
/**
 * @ORM\OneToOne(targetEntity="Application\Entity\Categorie",fetch="EAGER")
 * @ORM\JoinColumn(name="CAT_ID",referencedColumnName="CAT_ID")
 * @access protected
 * @var \Application\Entity\Categorie
 */
protected $CAT_ID;

当谈到第3级时,我遇到了这个问题.
实体“a”与实体“b”有关系.实体“b”与实体“c”有关系.在一个查询中选择实体“a”和实体“b”,并且在单个查询中将实体“c”与它们分开.我在它们之间的每个关系上都设置了fetch =“EAGER”.

不是Doctrine处理第三级中的fetch =“EAGER”或出错了什么?

我不这么认为,但你可以做的只是在必要时设置EAGER模式
<?PHP
$query = $em->createQuery("SELECT u FROM MyProject\User u");
$query->setFetchMode("MyProject\User","address",\Doctrine\ORM\Mapping\ClassMetadata::FETCH_EAGER);
$query->execute();

有关更多信息,请转到Doctrine docs.

猜你在找的PHP相关文章