0

我正在创建一个类来管理用户组。组可以包含用户或用户组

我想知道是否已经有一个 symfony 类来实现处理这种关系。

我想到的最好的方法是这样的:

class Group
{

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    private $id;

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=255)
     */
    private $name;

    /**
     * @ORM\ManyToOne(targetEntity="User")
     * @ORM\JoinColumn(name="coordinator_id", referencedColumnName="id", nullable=false)
     */
    private $coordinator;

    /**
     * @ORM\ManyToOne(targetEntity="Group")
     * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", nullable=true)
     */
    private $parent; 

    /**
     * @ORM\ManyToMany(targetEntity="User", inversedBy="users")
     * @ORM\JoinTable(name="groups_users")
     */
    private $users;       

}
4

1 回答 1

1

目前(截至 2013 年 6 月 16 日)没有可用的捆绑包直接提供此特殊实现。

FOSUserBundle 为角色引入了组......但实现非常基础,需要手动操作才能使其充分发挥作用。也许这是你可以寻找灵感的东西。

否则,对于这个特殊用例,您的方法对我来说看起来不错。

您可以通过使用带有Gedmo 的树学说扩展的嵌套集来处理组嵌套来进行改进。

于 2013-06-16T19:13:14.930 回答