PHP的-Symfony的2学说2使用inversedBy和mappedToyManyMany关系?
作者:互联网
进入Doctrine 2 Documentation解释了ManyToMany关系中的拥有侧和反向侧,并说:
For ManyToMany bidirectional relationships either side may be the
owning side (the side that defines the @JoinTable and/or does not make
use of the mappedBy attribute, thus using a default join table).
这是否意味着我可以编写注释而无需使用inversedBy和mappingBy
指的是ManyToMany关系的拥有侧和ManyToMany关系的反侧?
例如:
我可以这样写吗:
关联实体
/**
* @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;
解决方法:
在多对多关系的情况下,您可以选择任何一侧作为自己的一侧,而另一侧自动变为相反的一侧.但是,请尝试检查您经常触发哪个实体来获取对象并管理自己的一面
标签:doctrine-orm,symfony-2-3,symfony,doctrine,php 来源: https://codeday.me/bug/20191122/2059980.html