使用Symfony时如何处理连接表中的其他列?

时间:2013-08-10 09:26:22

标签: symfony doctrine-orm datamodel

假设我的Symfony2包中有两个实体,UserGroup。与多对多关系相关联。

    ┌────────────────┐         ┌────────────────┐         ┌────────────────┐
    |      USER      |         | USER_GROUP_REL |         |     GROUP      |
    ├────────────────┤         ├────────────────┤         ├────────────────┤
    | id#            ├---------┤ user_id#       |    ┌----┤ id#            |
    | username       |         | group_id#      ├----┘    | groupname      |
    | email          |         | created_date   |         |                |
    └────────────────┘         └────────────────┘         └────────────────┘

在连接表中添加其他列的好方法或好方法是什么,例如表示User加入Group的日期的创建日期?

我知道我可以使用QueryBuilder来撰写INSERT声明。

但是我没有看到任何 INSERT QueryBuilder或本机SQL的例子让我相信ORM / Doctrine试图避免直接的INSERT语句(例如出于安全原因) 。另外,据我所知,Symfony和Doctrine如果框架不能涵盖这样的共同要求,我会感到吃惊。

1 个答案:

答案 0 :(得分:2)

您想要设置关系的属性。这就是它在学说中的表现: doctrine 2 many to many (Products - Categories)

我用一个用例(和你的一样)回答了这个问题。

这是一个额外的问题/答案,它考虑了好处和用例:Doctrine 2 : Best way to manage many-to-many associations