编程语言
首页 > 编程语言> > PHP的-Symfony的2学说2使用inversedBy和mappedToyManyMany关系?

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