我有一個包含個人和企業(除其他事項外)的數據模型。我通過創建一箇中間對象PersonCompanyRelation來創建它們之間的多對多關係,該對象包含與人員和公司的多對一關係。這是因爲我想存儲關於關係的信息。這工作得很好許多一對多的關係,本身帶有的Symfony /學說
現在我想要做相同的,但用於連接到人的人。我又創建了一個名爲PersonPersonRelation的關係對象。我遇到的問題是,在Person對象中,我必須指定對象在關係對象中映射到的屬性,但這是有問題的,因爲它與關係之間的關係不同。有時候這會是A,有時會是B.不管它是哪一個,但沒有一個邏輯系統,我不能邏輯地檢索關係。我該怎麼做呢?
的代碼PersonPersonRelation
/**
* @ORM\ManyToOne(targetEntity="Person", inversedBy="personPersonRelations")
*/
protected $personA;
/**
* @ORM\ManyToOne(targetEntity="Person", inversedBy="personPersonRelations")
*/
protected $personB;
在人的代碼。注意:我怎麼需要指定它映射到關係屬性,但是從個人的角度,我不知道這是否將是角色或PersonB
/**
* @ORM\OneToMany(targetEntity="PersonPersonRelation", mappedBy="personA")
*/
protected $personPersonRelations;
爲了澄清如下要求;該情況是我想要存儲人與人之間關係的專業,包括有關就像他們是怎麼認識(同事,朋友,家人等),以及日期等
感謝您的回答。這種關係真的是平等的。在這種特殊情況下,我想註冊一個人的專業網絡。隨着這種關係,我想存儲他們如何見面。這可能是因爲同事,也是朋友,家人,未知等 – garma
所以從這Person實體的角度來看,我無法想出一個辦法來邏輯存儲在任何人物角色對PersonRelation的參考人或personB(並能夠在邏輯上檢索) – garma