2014-05-10 76 views
0

我創建了一個多對多的關係,並通過命令行生成crud。我有用戶和組。symfony 2多對多關係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; 

當我創建用戶組顯示,但我不能將用戶分配給組。仍然當我去編輯組我可以分配用戶和它的作品。

如果我想在兩個方向都能做到,我需要更改哪些內容?有沒有任何教條實體的變化或在控制器?

回答

0

不知道這是否是你的問題,因爲沒有足夠的代碼...
但我認爲這可以幫助:Symfony2-Doctrine: ManyToMany relation is not saved to database
和官方文件:Owning and Inverse Side on a ManyToMany association

+0

解決: 這裏就是答案 HTTP: //docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/unitofwork-associations.html 反面必須使用OneToOne,OneToMany或ManyToMany映射聲明的mappedBy屬性。 mappedBy屬性包含擁有端的關聯字段的名稱。 擁有方必須使用OneToOne,ManyToOne或ManyToMany映射聲明的inversedBy屬性。 inversedBy屬性包含反面的關聯字段的名稱。 – user2217288