可能在OneToMany和OneToOne中使用相同的实体?

时间:2011-12-17 13:57:58

标签: php symfony doctrine-orm

我正在尝试在单个客户实体中存储多个地址实体。

这部分很简单,因为它只是一个简单的ManyToOne / OneToMany双向关系。

看看我们的简单代码,但请注意我正在与我试图在Customer上为primary_address制作的额外OneToOne关联提出的问题

class Address
{
    /**
     * @ORM\Column 
     */
    protected $address_text;

    /**
     * @ORM\ManyToOne(targetEntity="Customer", inversedBy="addresses") 
     */
    protected $customer;
}



class Customer 
{
    /**
    * @ORM\OneToMany(targetEntity="Address", mappedBy="customer")
    */
    protected $addresses;

    /**
    * @ORM\OneToOne(targetEntity="Address")
    */
    protected $primary_address;
}

因此,每个客户实体应该能够拥有多个与之关联的地址实体,但客户实体也应该只有一个是主要地址。

这怎么可能?有没有优雅的解决方案?

0 个答案:

没有答案