私は友人システムを開発しようとしています。ユーザーエンティティで多対多の関係が必要です。今のところ、これは私がやったことです:余分なフィールドとの多対多の自己関係?
/**
* @ORM\ManyToMany(targetEntity="User", mappedBy="friends")
*/
protected $friendsWith;
/**
* @ORM\ManyToMany(targetEntity="User", inversedBy="friendsWith")
* @JoinTable(name="friends",
* joinColumns={@JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="friend_user_id", referencedColumnName="id")}
* )
*/
protected $friends;
をしかし、私は、これらの関係のためにいくつかの余分なフィールドを持っていると思います例えば作成日や状態(受け入れ、保留します、...);別のエンティティ「Friend」を作成しました。このエンティティを友人間のリンクとして使用したいと考えています。しかし、私は本当にこれを管理する方法を知りません...
アイデアはありますか?
ありがとうございます!
しかし私はここで作る団体は本当にありません。 :/ ユーザー - > OneToMany - >フレンド、フレンド - > ManyToOne - >ユーザー? 3つのクラスはありませんが、ここでは2つしかありません。ユーザーの自己関連性があるからです。 –
私は自分の答えを編集しました。 –
私は理解していると思う、それは基本的に同じアイデアですが、私はただのUserではなく、別のクラスにマップしますか? –