我正在使用Doctrine 2,并且有一个Address
值对象:
class Address
{
/** @var string */
protected $street;
/** @var string */
protected $city;
/** @var Application\Domain\Model\Country */
protected $country;
}
我需要将此Address
存储在PHP会话中(序列化),并在以后检索它。当我然后检索此值对象时,我希望将Country
对象合并到当前的实体管理器,以便此Country与当前工作单元同步。
是否可以将此值对象“合并”到当前的实体管理器,就像我在cascade="merge"
的常规实体上所做的那样,将Country
实例替换为当前实例?< / p>
我显然可以手动合并Address
:
Country
$address = $_SESSION['address'];
$country = $em->merge($address->getCountry());
$address = new Address($address->getStreet(), $address->getCity(), $country);
但是我想知道我是否错过了Doctrine中的一个功能,允许我直接合并VO?
答案 0 :(得分:1)
据我所知,目前没有记录的方法可以做到这一点。