使用原则创建多对多关系的错误 2.



我正在尝试使用 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;

相关内容

  • 没有找到相关文章

最新更新