Я работаю с 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?