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
我曾试过,我注意到:这两种方法是正确的 –