1

我正在使用 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;

这是我的第一个想法,但客户和供应商呢?

4

1 回答 1

2

一个地址可以同时链接到几个人吗?这对我来说似乎有点奇怪......

在任何情况下,我都建议您有一个实体联系人,与地址建立一对多关系,或者联系人和员工、联系人和客户、联系人和供应商之间的一对一关系,或者有员工, Client 和 Supplier 继承自 Contact。

于 2012-06-22T14:34:37.143 回答