【发布时间】:2017-11-21 14:53:10
【问题描述】:
假设我有两个 Doctrine 实体,Person 和 Company。两者都有一个接受地址值对象的address 字段。根据业务规则,Company::Address 是必需的,而Person::Address 可以为空。
Doctrine 2.5 提出了the Embeddable type,它显然是在考虑值对象的情况下构建的,事实上,我认为它是我案例的完美解决方案。
但是,我不能做一件事:声明 Person::Address 可以为空,而 Company::Address 则不能。 Embeddable 的字段本身存在一个布尔值nullable 属性,但这当然适用于嵌入地址的每个实体。
是否有人知道我是否遗漏了什么,或者这是由于技术限制,是否有解决方法等?现在我看到的唯一解决方案是将所有可嵌入字段声明为nullable: true 并在我的代码中处理约束。
【问题讨论】:
标签: php doctrine-orm orm doctrine value-objects