学说关联映射 - 现实生活场景

时间:2014-10-17 19:32:06

标签: doctrine-orm doctrine associations

我目前正在使用Sytrfony 2在Doctrine ORM中设置关于事件管理应用程序的关联映射。我发现抓住这个概念有点令人困惑,所以如果你能告诉我在下列情况下需要两个映射,我将不胜感激:

应用程序中有用户(用户实体)和事件(事件实体)。

1。 (第一次映射)

一个用户可以成为许多活动的参与者/一个活动将许多用户作为与会者。

2。 (第二次映射)

每个活动只有一个用户所有者(设置活动的用户),但每个用户都可以是许多活动的所有者

我的假设如下:

Ad.1

此处需要 ManytoMany双向关联,因为User实体持有$events,而Event实体持有$attendees(两者都相互映射)

Ad.2

此处 ManytoOne单向关联是必需的,因为Event实体持有$owner,而User实体不必映射到Event。

我将非常感谢您的反馈。我相信它会帮助我更好地理解这个概念。

谢谢!

1 个答案:

答案 0 :(得分:1)

您的假设是正确的,在Doctrine上使用ManyToMany时要小心。 Doctrine将自动处理它,但要注意,如果你在多对多关联中有任何额外的列(除了与会者id和事件id),你需要将ManyToMany作为另一个实体本身处理。