加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Doctrine 2:通过值对象重新附加实体

发布时间:2020-12-13 22:33:17 所属栏目:PHP教程 来源:网络整理
导读:我正在使用Doctrine 2,并且有一个Address值对象: class Address{ /** @var string */ protected $street; /** @var string */ protected $city; /** @var ApplicationDomainModelCountry */ protected $country;} 我需要将此地址存储在PHP会话中(序列化)
我正在使用Doctrine 2,并且有一个Address值对象:

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

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

    /** @var ApplicationDomainModelCountry */
    protected $country;
}

我需要将此地址存储在PHP会话中(序列化),并在以后检索它.当我然后检索此值对象时,我希望将Country对象合并到当前的Entity Manager,以便此Country与当前工作单元同步.

是否可以将此值对象“合并”到当前的实体管理器,就像我在具有cascade =“merge”的常规实体上所做的那样,以将Country实例替换为当前实例?

我可以使用手动合并的国家/地区手动创建另一个地址:

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

但我想知道我是否缺少Doctrine中的一个功能,允许我直接合并VO?

解决方法

据我所知,目前没有记录的方法可以做到这一点.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读