我正在使用PHP和Doctrine 2.0。所有的实体都可以正常工作,除了下面详细描述的实体关系外(或者其他实体在我没有注意到的地方失败)。懒惰加载属性不加载在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属性的所有获取者都会返回NULL
。
我会做什么错?
我已经添加了fetch="EAGER"
属性关系注解,现在一切似乎去就好了(除了一个事实,即装载不再偷懒)。什么会导致Doctrine 2.0的延迟加载中断?
-1,因为这不是我的问题的答案 - 但我会,但是,扩大我的问题/答案,以包括此(有据可查)的信息。 – wen
如果我得到了我的问题的答案,我会让你知道:) –