Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony学说多对多加注释_Symfony_Orm_Doctrine Orm_Annotations_Many To Many - Fatal编程技术网

Symfony学说多对多加注释

Symfony学说多对多加注释,symfony,orm,doctrine-orm,annotations,many-to-many,Symfony,Orm,Doctrine Orm,Annotations,Many To Many,我有3个类与manytomen相关(2个类和其他类产生此关联)。这些类是:User、Group和UserGroup(这个类有额外的字段) 问题(2,但相似) AppBundle\Entity\User 关联AppBundle\Entity\User#usergroups是指拥有方字段AppBundle\Entity\UserGroup#User,该字段未定义为关联,而是定义为字段。 关联AppBundle\Entity\User#usergroups指的是不存在的拥有方字段AppBundle\E

我有3个类与manytomen相关(2个类和其他类产生此关联)。这些类是:User、Group和UserGroup(这个类有额外的字段)

问题(2,但相似) AppBundle\Entity\User
关联AppBundle\Entity\User#usergroups是指拥有方字段AppBundle\Entity\UserGroup#User,该字段未定义为关联,而是定义为字段。 关联AppBundle\Entity\User#usergroups指的是不存在的拥有方字段AppBundle\Entity\UserGroup#User

AppBundle\Entity\Group
关联AppBundle\Entity\Group#usergroups指的是拥有方字段AppBundle\Entity\UserGroup#Group,该字段未定义为关联,而是定义为字段。 关联AppBundle\Entity\Group#usergroups指的是不存在的拥有方字段AppBundle\Entity\UserGroup#Group

AppBundle/Entity/User.php
第一个错误:

AppBundle\Entity\UserGroup#user
您添加了映射
@ORM\Column(type=“integer”)
-删除它,映射程序知道如何定义关系

    /**
     * @ORM\Column(type="integer")
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="usergroups", cascade={"persist"})
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
    private $user;

第二个错误-相同的情况:

    /**
     * @ORM\Column(type="integer")
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Group", inversedBy="usergroups", cascade={"persist"})
     * @ORM\JoinColumn(name="group_id", referencedColumnName="id")
     */
    private $group;
列与关联不同。 我想,仅此而已:)

你把它注释错了。 下面是注释manytone关系的示例

/**
* @ORM\ManyToOne(targetEntity="Group")
* @ORM\JoinColumn(name="group_id", referencedColumnName="id", onDelete="persist")
*/
下面的链接帮助你更多。
谢谢

太好了!正如您所说,它可以在没有注释@Column的情况下工作,在这种情况下,它也可以在没有{}的级联中工作,并且没有实体用户(或组)的绝对路径。非常感谢。
    /**
     * @ORM\Column(type="integer")
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="usergroups", cascade={"persist"})
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
    private $user;
    /**
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\User", inversedBy="usergroups", cascade={"persist"})
     * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
     */
    private $user;
    /**
     * @ORM\Column(type="integer")
     * @ORM\ManyToOne(targetEntity="AppBundle\Entity\Group", inversedBy="usergroups", cascade={"persist"})
     * @ORM\JoinColumn(name="group_id", referencedColumnName="id")
     */
    private $group;
/**
* @ORM\ManyToOne(targetEntity="Group")
* @ORM\JoinColumn(name="group_id", referencedColumnName="id", onDelete="persist")
*/