模型映射怎么做?

时间:2012-05-26 14:32:33

标签: php symfony doctrine-orm

我有一个Photo Entity,我要保存所有照片。我有其他实体说UserPost。两者都可以有多张照片。它应该是many to many映射?我做对了吗?我正在使用symfony2&教义。

2 个答案:

答案 0 :(得分:0)

要确定您需要的多重性,您必须填写此类短语:

一个人有吗? B(S) 一个B有? A(S)

实施例: 一位用户有帖子 一个帖子有一个作者(或用户)

这种关系是多对一的,双向的,关系可以命名为“posts”(带有s),反向关系可以命名为“author”(没有s)

对其他实体执行相同操作(编辑问题以显示所获得的内容)。

答案 1 :(得分:0)

关联映射类型在此处描述http://docs.doctrine-project.org/projects/doctrine-orm/en/2.0.x/reference/association-mapping.html

  

真正的多对多关联不太常见

您的应用程序的逻辑取决于您。从我的角度来看:

发布(一篇文章可能有多张照片):

<one-to-many field="photos" target-entity="Photo" mapped-by="post" />

用户(一个用户可能有多张照片):

<one-to-many field="photos" target-entity="Photo" mapped-by="user" />

最后照片:

<many-to-one field="post" target-entity="Post" />
<many-to-one field="user" target-entity="User" />