Doctrine 2 Documentation成解釋持有端和反向端成多對多關係,並表示:Symfony 2 Doctrine 2使用inversedBy和mappedBy轉換爲ManyToMany關係?
對於多對多雙向關係任一側可以是定義了@JoinTable和/或不使 的 擁有側(側使用mappedBy屬性,從而使用默認連接表)。
是意味着我可以寫我的註釋,而無需使用inversedBy和的mappedBy 要引用爲擁有多對多關係多對多關係和翻轉邊的一面呢?
例:
我可以寫:
加盟實體
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Category")
*
*/
private $categories;
和
類別實體
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Affiliate")
* @ORM\JoinTable(name="category_affiliate")
*
*/
private $afflitiates;
,而不是寫的是:
加盟實體
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Category", mappedBy="afflitiates")
*
*/
private $categories;
和
類別實體
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Affiliate",inversedBy="categories")
* @ORM\JoinTable(name="category_affiliate")
*
*/
private $afflitiates;
你爲什麼不試試呢? ;)小提示:具有'@ORM \ JoinTable'的那一邊自動是*擁有*邊......所以它不可能讓Doctrine決定擁有者而不需要'inversedBy'屬性,對嗎? – nifr
我曾試過,我注意到:這兩種方法是正確的 –