Мне нужно хранить некоторые данные для нашего бронирования, в том числе данные о клиентах, которые я хочу в качестве встроенного документа в моем документе бронирования. В моей текущей конфигурации все данные сохраняются в 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
}
Очистите кеш. Сопоставление в порядке, так как данные сохраняются правильно, что неправильно в том, что Hydrator
был уже на месте и не был обновлен с новым полем. Чтобы избежать таких ситуаций, вы можете рассмотреть возможность использования AUTOGENERATE_EVAL
стратегия автогенерации гидраторов / прокси во время разработки.
Других решений пока нет …