4
我與學說2個工作,並有Address
值對象:原則2:通過價值重新連接實體對象
class Address
{
/** @var string */
protected $street;
/** @var string */
protected $city;
/** @var Application\Domain\Model\Country */
protected $country;
}
我需要這個Address
存儲在PHP會話(序列化),並檢索它稍後的。當我再檢索這個值對象時,我想讓Country
對象合併到當前的實體管理器中,以便這個國家與當前的工作單元同步。
是否有可能將此值對象「合併」到當前的實體管理器,就像我在cascade="merge"
上執行的常規實體那樣,將Country
實例替換爲當前的實例?
我能明顯手動創建另一個Address
用手動合併Country
:
$address = $_SESSION['address'];
$country = $em->merge($address->getCountry());
$address = new Address($address->getStreet(), $address->getCity(), $country);
但我想知道如果我錯過了在學說一個功能,可以讓我直接合並VO呢?
原則小組爲實施價值對象支持提供WIP:https://github.com/doctrine/doctrine2/pull/634 – 2013-06-09 16:48:25
@YohanG。是的,我已經看到了,雖然它與我所尋找的略有不同。無論如何,本地VO支持將會非常棒! – Benjamin 2013-06-09 17:57:03