Доктрина 2: присоединение сущностей через объекты стоимости - PullRequest
4 голосов
/ 31 декабря 2011

Я работаю с Doctrine 2, и у меня есть объект значения Address:

class Address
{
    /** @var string */
    protected $street;

    /** @var string */
    protected $city;

    /** @var Application\Domain\Model\Country */
    protected $country;
}

Мне нужно сохранить это Address в сеансе PHP (сериализовано) и получить его позже. Затем, когда я получаю этот объект значения, я хочу, чтобы объект Country был объединен с текущим Entity Manager, чтобы эта страна синхронизировалась с текущей единицей работы.

Можно ли "объединить" этот объект-значение с текущим Entity Manager, как я сделал бы для обычной сущности с cascade="merge", чтобы заменить экземпляр Country на текущий?

Я, очевидно, могу вручную создать еще один Address с объединенным вручную Country:

$address = $_SESSION['address'];
$country = $em->merge($address->getCountry());
$address = new Address($address->getStreet(), $address->getCity(), $country);

Но мне интересно, если я пропускаю функцию в Doctrine, которая позволила бы мне вместо этого напрямую объединить VO?

1 Ответ

1 голос
/ 22 ноября 2012

Насколько я знаю, в настоящее время нет документированного способа сделать это.

...