我对doctrine embeddables和使用关联有问题。当我向嵌入式实体原则添加@ManyToOne
时,请勿在用户表中创建address_city
列,但会创建address_street
列。我接缝有点奇怪,因为没有错误,城市是默默无闻的。
代码看起来像这样:
/** @Entity */
class User
{
/** @Embedded(class = "Address") */
private $address;
}
/** @Embeddable */
class Address
{
/** @Column(type = "string") */
private $street;
/** @ManyToOne(targetEntity = "City") */
private $city;
}
/** @Entity */
class City
{
/** @Column(type = "string") */
private $name;
}
答案 0 :(得分:5)
2015.01.11州:
目前学说不支持此案例。它现在在学说问题跟踪器here
中描述以下是解释:
我们现在不支持嵌入式协会...
现在可能还没有实现,因为embeddables(在我们的愿景中)适合ValueObjects的用例。 ValueObjects(通常)应该包含可序列化数据,而实体引用不是可序列化数据。