我有2个实体Item和Itemimage。 Item to Itemimage之间的关系是OneToMany Unidirectional与JoinColumn。我从学说文档中获得了帮助。带有JoinColumn的OneToMany单向是使用ManyToMany注释实现的:
/**
* @ManyToMany(targetEntity="Itemimage")
* @JoinTable(name="itemimage",
* joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="itemid")}
* )
*/
其中:
我在Item Entity中创建了一个属性$ images并给它上面的docblock。问题是,当我尝试更新架构时。我得到一个学说错误:“表'itemimage'已经存在”。我确信情况并非如此。我不知道该怎么做。
请帮助我。
谢谢!感谢您的帮助。
答案 0 :(得分:0)
应该是:
/**
* @ManyToMany(targetEntity="Itemimage")
* @JoinTable(name="itemimage_map",
* joinColumns={@JoinColumn(name="item_id", referencedColumnName="id")},
* inverseJoinColumns={@JoinColumn(name="image_id", referencedColumnName="id")}
* )
*/
导致创建第三个表(itemimage_map),该表仅包含其他两个表的映射。它不是您必须加入的现有表格。该表将包含item_id和image_id,它们是您要映射的表的主键。