1
过去几个小时,我一直在为这个问题苦苦挣扎,一直未能找到任何东西。获取FOSUserBundle组的用户(Symfony2)
我已经配置了FOSUserBundle并让组正确激活并正常工作。但是,用户组关系定义为User类如下:
/**
* @ORM\ManyToMany(targetEntity="Netlabs\UserBundle\Entity\Group")
* @ORM\JoinTable(name="fos_user_user_group",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="group_id", referencedColumnName="id")}
*)
*/
protected $groups;
,并在组类,我甚至不具有定义的$用户列表。我尝试了很多“正常”的东西,比如在我的Group类中创建一个$ users变量,并将其定义为与User对象的关系,但它与FOSUserBundle并不搭配(每次创建一个新表来创建关系,当已经有一个时)。例如:
/**
* @ORM\ManyToMany(targetEntity="Netlabs\UserBundle\Entity\Group", inversedBy="groups", cascade={"all"})
*
*/
protected $users;
有什么建议吗?
同样,我的主要目标是:我希望能够做到集团 - > getUsers()
修改代码以您的建议和运行后“的信条:生成:实体”和“学说:模式:更新--force”,它仍然会创建一个新表“ group_user“,而不是使用它应该的”fos_user_user_group“。 – JoshuaWohle 2012-08-02 09:52:46
使用ManyTo§any关系时,您必须创建一个新表。这是保存对象之间关系的唯一方法。 – 2012-08-02 09:55:15
我知道,但是FOSUserBundle已经创建了一个名为“fos_user_user_group”的表格,它满足了这个目的。应该只有一个表,而不是2. – JoshuaWohle 2012-08-02 10:06:04