我正在使用Symfony2和Doctrine2来构建应用程序。该应用程序的一部分涉及地址。我有一个表“地址”和三个表连接到它与多对多关系(员工,客户,供应商)。我用一个连接表“contact_address”设置了它。
如何创建具有多对多关系的实体?在我的员工,客户和供应商实体中
/**
* @var Addressess
*
* @ORM\ManyToMany(targetEntity="Address", mappedBy="contacts")
*/
private $addresses;
我在地址实体中添加了什么?
/**
* @var Contacts
*
* @ORM\ManyToMany(targetEntity="Employee", inversedBy="id")
* @ORM\JoinTable(name="contact_address",
* joinColumns={
* @ORM\JoinColumn(name="addressID", referencedColumnName="addressID")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="employeeID", referencedColumnName="employeeID")
* }
* )
*/
private $contacts;
是我的第一个想法,但是对客户和供应商有什么看法?
答案 0 :(得分:2)
地址是否可以一次链接到多个人?这对我来说似乎有点奇怪......
在任何情况下,我都会建议您与地址建立一对多的实体联系,以及联系人和员工,联系人和客户以及联系人和供应商之间的一对一联系,或者让员工,客户和供应商继承联系。