FosUserBundle按角色(和组角色)查找用户

时间:2013-07-23 09:24:26

标签: symfony fosuserbundle

在FosUserbundle中,如何按特定角色查找用户。我也实现了Group,因此Roles数组也来自Group-> getRoles。有没有办法使用QueryBuilder不循环来自db的所有用户?

1 个答案:

答案 0 :(得分:3)

所以你只需要添加一个从User到Group到Roles的连接,其中role =你正在寻找的角色。这只是一个带连接的直接查询。

这样的事情:

$qb->select("u")
        ->from("YourUserBundle:User", "u")
        ->join("u.Group", "g")
        ->join("g.Role", "r")
        ->where("r.role = :role");
    $query = $qb->getQuery();
    $query->setParameter("role", $role);

    $results = $query->getResult();

View the gist