symfony 2多对多关系crud

时间:2014-05-10 08:59:15

标签: mysql database doctrine-orm many-to-many

我创建了多对多关系并通过命令行生成了crud。我有用户和组。

USER
    /**
     * @ORM\ManyToMany(targetEntity="Grup", mappedBy="users")
     * @ORM\JoinTable(name="user_has_grup",
     *     joinColumns={@ORM\JoinColumn(name="grup_id", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
     * )
     */
    protected $grups;

Grup
    /**
     * @ORM\ManyToMany(targetEntity="User", inversedBy="grups")
     * @ORM\JoinTable(name="user_has_grup",
     *     joinColumns={@ORM\JoinColumn(name="grup_id", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")}
     * )
     */
    protected $users;

当我创建用户组时,我无法将用户分配到组。仍然当我去编辑群组时,我可以将用户分配给它并且效果很好。

如果我想在两个方向都能做到,我需要改变什么?是否有任何Doctrine Entity更改或在控制器中?

1 个答案:

答案 0 :(得分:0)

不知道你的问题是不是因为代码不够...... 但我认为这可以提供帮助:Symfony2-Doctrine: ManyToMany relation is not saved to database
官方文档:Owning and Inverse Side on a ManyToMany association