假设我的Symfony2包中有两个实体,User
和Group
。与多对多关系相关联。
┌────────────────┐ ┌────────────────┐ ┌────────────────┐
| 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如果框架不能涵盖这样的共同要求,我会感到吃惊。
答案 0 :(得分:2)
您想要设置关系的属性。这就是它在学说中的表现: doctrine 2 many to many (Products - Categories)
我用一个用例(和你的一样)回答了这个问题。
这是一个额外的问题/答案,它考虑了好处和用例:Doctrine 2 : Best way to manage many-to-many associations