我正在尝试使用 Doctrine 2 的 ZF2 模块为我的数据库生成模式,但具有以下定义:
/**
* @ORMManyToMany(targetEntity="Tag")
* @ORMJoinTable(name="Manytomany_Issuetag",
* @ORMjoinColumns={@ORMJoinColumn(name="IssueId", referencedColumnName="id")},
* @ORMinverseJoinColumns={@ORMJoinColumn(name="TagId", referencedColumnName="id")}
* )
*/
protected $tags;
当我运行vendor/bin/doctrine-module orm:schema-tool:update --dump-sql
时,我收到以下错误:
不允许在属性应用程序\实体\问题::$tags上声明批注 @ORM\join列。您只能在以下代码元素上使用此注释: 属性
编辑:根据此处的要求是工作注释
/**
* @ORMManyToMany(targetEntity="Tag")
* @ORMJoinTable(name="Manytomany_Issuetag",
* joinColumns={@ORMJoinColumn(name="IssueId", referencedColumnName="id")},
* inverseJoinColumns={@ORMJoinColumn(name="TagId", referencedColumnName="id")}
* )
*/
protected $tags;
我认为您需要删除几个@ORM
声明,它应该看起来像这样(显然没有我的评论)
/**
* @ORMManyToMany(targetEntity="Tag")
* @ORMJoinTable(name="Manytomany_Issuetag",
* joinColumns={@ORMJoinColumn(name="IssueId", referencedColumnName="id")},
* ^ drop the @ORM
* inverseJoinColumns={@ORMJoinColumn(name="TagId", referencedColumnName="id")}
* ^ drop the @ORM
* )
*/
protected $tags;