多对多关系中的附加字段

时间:2016-09-02 08:55:03

标签: php doctrine-orm doctrine symfony

用户只有在分配给campaigns时才会看到user_campaign。他们可以看到广告系列的事实并不意味着他们参与其中。我想让用户有机会加入广告系列。

我使用Bidirectional,ManyToMany关系,表participating是自动创建的。是否有可能添加/** * @ORM\ManyToMany(targetEntity="Reko\CampaignBundle\Entity\Campaign", inversedBy="users") * @ORM\OrderBy({"id" = "DESC"}) * @ORM\JoinTable(name="user_campaign") */ protected $campaigns; 之类的其他字段?我宁愿不创建新表。

实体User.php

/**
 * @ORM\ManyToMany(targetEntity="Reko\UserBundle\Entity\User", mappedBy="campaigns")
 */
protected $users;

实体Campaign.php

C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

1 个答案:

答案 0 :(得分:0)

Basicall您需要的是用户和广告系列之间的两种多种关系。一个代表作业,一个代表参与。由于学说只能自动创建一个连接表,因此您必须在注释中以不同方式手动命名两个连接表,并且您没有问题!