我正在使用 PHP 和 Doctrine 2.0。所有实体都工作正常,除了下面详细介绍的实体关系(或者其他实体在我没有注意到的地方失败)。
考虑以下实体:
/** @Entity */
class Target {
/**
* @ManyToOne(targetEntity="k\entity\Source", cascade={"persist"})
* @JoinColumn(name="basic_vacancy_id", nullable=false)
* @var \k\entity\Source
*/
$source;
...
}
/** @Entity */
class Source {
...
}
现在,当我打电话时$target->getSource()
我得到一个实例k\entity\proxy\kentitySourceProxy
(这是正确的代理类)。但是,Source 属性的所有 getter 都会返回NULL
.
我可能做错了什么?
我已经添加了fetch="EAGER"
属性到关系注释,现在一切似乎都进展顺利(除了加载不再是惰性的这一事实)。什么会导致 Doctrine 2.0 的延迟加载失效?
如上面我的问题所示,我已将 fetch="EAGER" 属性添加到关系注释中,现在一切似乎都很好(除了加载不再是惰性的这一事实)。
这当然是一种解决方法,并没有修复实际的错误。除此之外,我仍然不知道是什么导致我的代码/原则被破坏。然而,这种解决方法对性能的影响似乎可以忽略不计——即使存在。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)