Doctrine orm 使用原则2创建多对多关系时出错
我试图使用Doctrine 2的ZF2模块为我的数据库生成模式,但定义如下:Doctrine orm 使用原则2创建多对多关系时出错,doctrine-orm,zend-framework2,Doctrine Orm,Zend Framework2,我试图使用Doctrine 2的ZF2模块为我的数据库生成模式,但定义如下: /** * @ORM\ManyToMany(targetEntity="Tag") * @ORM\JoinTable(name="Manytomany_Issuetag", * @ORM\joinColumns={@ORM\JoinColumn(name="IssueId", referencedColumnName="id")}, * @ORM\inverseJoinColumns={@O
/**
* @ORM\ManyToMany(targetEntity="Tag")
* @ORM\JoinTable(name="Manytomany_Issuetag",
* @ORM\joinColumns={@ORM\JoinColumn(name="IssueId", referencedColumnName="id")},
* @ORM\inverseJoinColumns={@ORM\JoinColumn(name="TagId", referencedColumnName="id")}
* )
*/
protected $tags;
当我运行vendor/bin/doctor模块orm:schema工具:更新--dump sql
时,我收到以下错误:
不允许在属性Application\Entity\Issue::$tags上声明批注@ORM\joinColumns。只能对以下代码元素使用此注释:属性
编辑:根据要求,这里是工作注释
/**
* @ORM\ManyToMany(targetEntity="Tag")
* @ORM\JoinTable(name="Manytomany_Issuetag",
* joinColumns={@ORM\JoinColumn(name="IssueId", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="TagId", referencedColumnName="id")}
* )
*/
protected $tags;
我认为您需要删除几个
@ORM\
声明,它应该是这样的(显然没有我的注释)
你能把你的工作注解贴出来吗?
/**
* @ORM\ManyToMany(targetEntity="Tag")
* @ORM\JoinTable(name="Manytomany_Issuetag",
* joinColumns={@ORM\JoinColumn(name="IssueId", referencedColumnName="id")},
* ^ drop the @ORM\
* inverseJoinColumns={@ORM\JoinColumn(name="TagId", referencedColumnName="id")}
* ^ drop the @ORM\
* )
*/
protected $tags;