/** @ODM\Document(collection="Entities") */
class Entity extends Document {
/** @ODM\Id */
protected $_id;
/** @ODM\ReferenceOne(targetDocument="\Doctrine\Documents\Entities\Entity2", simple=true) */
protected $entity2;
}
/** @ODM\Document(collection="Entities2") */
class Entity2 extends Document {
/** @ODM\Id */
protected $_id;
/** @ODM\String */
protected $label;
}
我的问题是当我调用引用实体$entity->getEntity2()
时,它返回entity2
但带有public $__isInitialized__ => bool(false)
. 然后当我尝试调用$entity->getEntity2()->getId()
它时Doctrine\ODM\MongoDB\DocumentNotFoundException The "Proxies\__CG__\Doctrine\Documents\Entities\Entity2" document with identifier "54de5341642c8769150041a7" could not be found.
奇怪的是,当我在框架中渲染之前调用它时会发生这种情况。当我在渲染方法中执行相同操作时,它可以工作,但例如在表单提交处理方法中它不起作用......
我已经清理了缓存、代理和水合器。带有这个的文档ObjectID
在我的数据库中,它被返回,只是没有初始化,除了渲染方法之外,不能得到它的任何属性
这是通过调用getEntity2()
(mind $__isInititalized = false
)返回的
类 Proxies__CG__\Doctrine\Documents\Entities\Entity2#178 (6) { public $ initializer=> class Closure#160 (3) { public $static => array(2) { 'documentPersister' => class Doctrine\ODM\MongoDB\Persisters\DocumentPersister#166 (11) { ... } 'reflectionId' => class ReflectionProperty#165 (2) { ... } } public $this => class Doctrine\ODM\MongoDB\Proxy\ProxyFactory#78 (7) { private $metadataFactory => class Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory# 74 (9) { ... } private $uow => class Doctrine\ODM\MongoDB\UnitOfWork#76 (23) { ... } private $proxyNamespace => string(7) "Proxies" private $proxyGenerator => class Doctrine\Common\Proxy\ProxyGenerator#79 (4) { ... } private $autoGenerate => int(1) private $definitions => array(1) { ... } private $metadataFactory => class Doctrine\ODM\ MongoDB\Mapping\ClassMetadataFactory#74 (9) { ...} } public $parameter => array(1) { '$proxy' => string(10) "" } } public $克隆人=> class Closure#170 (3) { public $static => array(3) { 'documentPersister' => class Doctrine\ODM\MongoDB\Persisters\DocumentPersister#166 (11) { ... } 'classMetadata' => class Doctrine\ODM\MongoDB\Mapping\ClassMetadata#155 (38) { ... } 'reflectionId' => class ReflectionProperty#165 (2) { ... } } public $this => class Doctrine\ODM\MongoDB\ Proxy\ProxyFactory#78 (7) { private $metadataFactory => class Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory#74 (9) { ... } private $uow => class Doctrine\ODM\MongoDB\UnitOfWork#76 ( 23) { ... } private $proxyNamespace => string(7) "Proxies" private $proxyGenerator => class Doctrine\Common\Proxy\ProxyGenerator#79 (4) { ... } private $autoGenerate => int(1 ) 私有 $definitions => 数组(1) { ...} private $metadataFactory => class Doctrine\ODM\MongoDB\Mapping\ClassMetadataFactory#74 (9) { ... } } public $parameter => array(1) { '$proxy' => string(10) "" } } 公共 $isInitialized => bool(false) protected $_id => NULL protected $label => NULL protected $id => string(24) "54de5341642c8769150041a7" }