【发布时间】:2017-01-10 07:49:09
【问题描述】:
只有分配给他们的用户才能看到campaigns。他们可以看到竞选活动的事实并不意味着他们正在参与其中。我想让用户有机会加入广告系列。
我使用双向、多对多关系,表user_campaign 是自动创建的。是否有可能添加像participating 这样的附加字段?我宁愿不创建新表。
实体用户.php
/**
* @ORM\ManyToMany(targetEntity="Reko\CampaignBundle\Entity\Campaign", inversedBy="users")
* @ORM\OrderBy({"id" = "DESC"})
* @ORM\JoinTable(name="user_campaign")
*/
protected $campaigns;
实体 Campaign.php
/**
* @ORM\ManyToMany(targetEntity="Reko\UserBundle\Entity\User", mappedBy="campaigns")
*/
protected $users;
【问题讨论】:
-
m:n上的额外数据始终意味着需要一个中间实体来承载该额外数据。然后,新实体拥有两个原始实体的1:n。
标签: php doctrine-orm doctrine symfony