1

私はSymfony2とDoctrine2を使ってアプリケーションを構築しています。アプリケーションの一部はアドレスを扱います。1つのテーブル「アドレス」と、多対多の関係(従業員、クライアント、サプライヤー)でそれに接続する3つのテーブルがあります。これを1つの接続テーブル「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

住所を一度に複数の人にリンクすることはできますか?それは私には少し奇妙に思えます...

いずれにせよ、住所と1対多の関係で、連絡先と従業員、連絡先とクライアント、連絡先とサプライヤーの間で1対1の関係にある、または従業員を持つ1つのエンティティの連絡先を持つことをお勧めします。 、クライアントとサプライヤは連絡先から継承します。

于 2012-06-22T14:34:37.143 に答える