在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.
原文地址:https://www.jb51.cc/php/134540.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。