【发布时间】:2018-05-15 06:59:37
【问题描述】:
我有一个用于User 和House 的多对多表,称为user_house。而不是只有两列:user_id 和 house_id,我想再添加 3 列:例如 action、created_at、updated_at。我该怎么做?
我找不到任何相关文档。
以下只是创建一个单独的表,其中包含两列。
class User extends EntityBase
{
...
/**
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\House")
*/
protected $action;
基本上,我想要实现的是:
在user_house 表中,user_id、house_id、action 的组合应该是唯一的。
当用户单击房屋上的“视图”时,user_house 表将更新为some user_id、some house_id、view、now()、now()
当用户在房子上点击“赞”时,user_house 表会更新为some user_id、some house_id、like、now()、now()
当用户在房子上单击“请求通话”时,user_house 表将更新为some user_id、some house_id、contact、now()、now()
有人能指出我正确的方向吗?谢谢!
【问题讨论】:
-
您必须创建与
OneToMany关系到User和OneToMany关系到House和action字段的第三个实体(即UserHouse)。为避免重复,请添加唯一索引(用户、房屋)。
标签: symfony doctrine-orm many-to-many