2011-06-19 165 views
1

我创建了我的Doctrine 2映射(XML)。我想创建一个多一对多的关系之间的实体片段,并用标签:学说2多对多关系

片段

<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个?

一个解决方案只能在一个实体中定义关系,但是我能够从另一个实体访问它吗? (因为没有具体的财产是相反的定义)

看起来像我失去了一些明显的东西在这里。

回答

2

看起来您需要决定哪些是“拥有方”(按照Doctrine的说法),并向您的ManyToMany标记添加适当的“映射 - by”和“反向 - ”属性。

查看documenation,特别是XML示例。

+0

啊太好了,我似乎错过了;)非常感谢 – geoffreydv