【发布时间】:2015-02-08 10:00:33
【问题描述】:
我正在使用 Symfony2 和 mongodb 和教义-odm,它们有一个奇怪的行为。我有一个 importFile 文档和一个上下文文档。上下文文档被引用到 importFile 之一,如下所示:
/**
* @MongoDB\Document
*/
class ImportFile
{
[...]
/**
* @MongoDB\ReferenceOne(targetDocument="Contexte")
*/
private $contexte;
(getter 和 setter 都可以)。
我的上下文文档已经存在,并且存在于会话中。如果我转储上下文对象,我确实拥有所有必需的对象信息、他的 id 和他的所有属性。
在我的控制器中,我想将此上下文对象保存到我的 importFile 之一:
$dm = $this->getDocumentManager();
$importFile->setContexte($contexte); // contexte object already exists and persisted
$dm->persist($importFile);
$dm->flush();
它看起来很简单,应该像那样工作,但是在刷新时,我得到一个 mongodb 错误:
无法创建没有标识符的 DBRef。 UnitOfWork::getDocumentIdentifier() 没有返回类 Contexte 的标识符
我不知道我做错了什么。有什么帮助吗?
【问题讨论】: