1
在FosUserbundle中,如何通过特定角色查找用户。我也实现了Group,所以Roles数组也来自Group-> getRoles。有没有办法使用QueryBuilder不循环通过数据库的所有用户?FosUserBundle按角色(和组角色)查找用户
在FosUserbundle中,如何通过特定角色查找用户。我也实现了Group,所以Roles数组也来自Group-> getRoles。有没有办法使用QueryBuilder不循环通过数据库的所有用户?FosUserBundle按角色(和组角色)查找用户
所以你只需要添加一个从用户到组的联接到角色,角色=你正在寻找的角色。这只是一个简单的连接查询。
事情是这样的:
$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();
我想这可能会回答你的问题:http://stackoverflow.com/questions/9016914/symfony-2-fos-bundle-how-to -select-users-with-a-specific-role – Tocacar
这里的问题是User与Group有一对多的关系,并且在每个组中都有一个角色数组。我已经看到了这个答案,但它只是对没有Group实体的简单情况有帮助 –