按角色对symfony用户进行排序

时间:2013-03-18 10:50:55

标签: php sorting symfony user-interface

我有一个用户实体。它实现了基本的用户界面 我想按角色对用户进行排序,但我不知道该怎么做。

(仅用于向我的管理员发送消息,其中的消息实体以ManyToOne关系为目标用户实体)

2 个答案:

答案 0 :(得分:0)

好吧,也许是这样:

// $users - users from db, collection of user entity class
$myAdmins = array();
foreach($users as $user){
    if (in_array('ROLE_ADMIN', $user->getRoles())) {
      $myAdmins[] = $user;
    }
}
$myAdmins中的

用户具有ROLE_ADMIN角色。

答案 1 :(得分:0)

$query = $this->getDoctrine()->getEntityManager()
            ->createQuery(
                'SELECT u FROM MyBundle:User u WHERE u.roles LIKE :role'
            )->setParameter('role', '%"ROLE_MY_ADMIN"%');

$users = $query->getResult();

将工作卸载到数据库服务器。即使有超过100,000条记录,此查询也不需要很长时间才能返回。