请进入Doctrine 2 文档,解释了 ManyToMany 关系中的 Owning Side 和 Inverse Side,并且指出:
对于 ManyToMany 双向关系,任何一侧都可以是 Owning Side(定义 @JoinTable 和/或不使用 mappedBy 属性)。
这是否意味着我可以编写注释而不使用 inversedBy 和 mappedBy 来引用 ManyToMany 关系的 Owning Side 和 Inverse Side?
例如:
Affiliate 实体
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Category")
*
*/
private $categories;
and
Category Entity
/**
* @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;
and
Category Entity
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Affiliate",inversedBy="categories")
* @ORM\JoinTable(name="category_affiliate")
*
*/
private $afflitiates;
@ORM\JoinTable
的一侧自动成为拥有方,因此Doctrine可以在不需要inversedBy
属性的情况下确定拥有方,对吗? - Nicolai Fröhlich