2014-10-17 22 views
0

我目前正在使用Symfony 2在事件管理应用程序中使用的Doctrine ORM中设置关联映射。我觉得抓住这个概念有点困惑,所以如果能告诉我在以下情况下需要两个映射,我将不胜感激:主义协议映射 - 一个现实生活场景

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

1.(第一映射)

一个用户可以有许多的事件的参加者/事件持有多的用户与会者。

2.(第二映射)

每个事件只有一个用户所有者(即设置事件的用户),但每个用户可以是许多事件的所有者

我的假设是以下内容:

Ad.1

这里一个多对多双向 ASSOCIATI上是必需的,因为用户持有实体$events,而事件实体持有$attendees(都被映射到彼此)

Ad.2

这里自从事件实体需要多对一单向关联持有$owner,而用户实体不必映射到事件。

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

谢谢!

回答

1

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

+0

感谢您指出另一个实体将需要处理额外的表。 – luqo33 2014-10-20 19:50:51