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