我正在尝试在单个客户实体中存储多个地址实体。
这部分很简单,因为它只是一个简单的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;
}
因此,每个客户实体应该能够拥有多个与之关联的地址实体,但客户实体也应该只有一个是主要地址。
这怎么可能?有没有优雅的解决方案?