我需要为我们的预订存储一些数据,其中包括客户数据,我希望将其作为预订文档中的嵌入文档。使用我当前的配置,所有数据都保存在MongoDB中,但是当我加载预订文档时,没有相关的客户对象。我忘记了一些配置还是其他什么?
这就是我的文档的样子:
预订文件:
<?php
namespace AppBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\Document
*/
class Booking
{
/**
* @MongoDB\EmbedOne(targetDocument="\AppBundle\Document\Customer")
*/
private $customer;
// getter and setter...
}
客户文件
<?php
namespace AppBundle\Document;
use Doctrine\ODM\MongoDB\Mapping\Annotations as MongoDB;
/**
* @MongoDB\EmbeddedDocument
*/
class Customer
{
// fields, getter and setter
}
答案 0 :(得分:3)
清除缓存。映射是正常的,因为数据是正确保留的,错误的是Hydrator
已经到位并且未使用新字段进行更新。为了避免这种情况,您可以考虑在开发过程中使用AUTOGENERATE_EVAL
策略进行水合器/代理自动生成。