我正在创建我的Doctrine 2映射(用XML格式)。我想使用:
在实体Snippet和Tag之间创建多对多关系段:
<many-to-many field="tags" target-entity="Tag">
<cascade><cascade-all /></cascade>
</many-to-many>
代码
<many-to-many field="snippets" target-entity="Snippet">
<cascade><cascade-all /></cascade>
</many-to-many>
但是,当我使用schematool生成数据库表时,会添加两个表。 tag_snippet和snippet_tag。有没有办法只使用1个表而不是2个?
解决方案只是定义其中一个实体中的关系,但是我能够从另一个实体中访问它吗? (因为没有反过来定义特定属性)
看起来我在这里遗漏了一些明显的东西。
答案 0 :(得分:2)
看起来您需要确定哪个是“拥有方”(在Doctrine的说法中),并在ManyToMany标记中添加适当的“mapped-by”和“inversed-by”属性。
请参阅documenation,特别是XML示例。