管理用户组的类

时间:2013-06-16 19:05:07

标签: symfony class orm

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

我想知道是否已经有一个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;       

}

1 个答案:

答案 0 :(得分:1)

目前(截至2013-06-16)没有可用的软件包直接提供此特殊实现。

FOSUserBundle为角色引入了组...但实现非常基础,需要手动操作才能使其完全正常工作。也许你可以look into获得灵感。

否则,对于这个特殊用例,您的方法对我来说没问题。

您可以通过使用Gedmo's Tree doctrine extension的嵌套集来改进组嵌套。