Symfony学说多对多加注释
我有3个类与manytomen相关(2个类和其他类产生此关联)。这些类是:User、Group和UserGroup(这个类有额外的字段) 问题(2,但相似) AppBundle\Entity\UserSymfony学说多对多加注释,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
关联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")
*/