在@Embedded实体中使用关联

时间:2015-01-07 10:14:03

标签: symfony doctrine-orm

我对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;
}

1 个答案:

答案 0 :(得分:5)

2015.01.11州:

目前学说不支持此案例。它现在在学说问题跟踪器here

中描述

以下是解释:

  

我们现在不支持嵌入式协会...

     

现在可能还没有实现,因为embeddables(在我们的愿景中)适合ValueObjects的用例。 ValueObjects(通常)应该包含可序列化数据,而实体引用不是可序列化数据。