特定のロールからユーザーのリストを取得する必要があるモジュールを Drupal 7 で作成しています。ログインしているユーザーの役割と役割のリストを取得する方法を示す例を見てきましたが、特定の役割のユーザーのリストを取得するのに役立つものは見当たりませんでした。これを行う方法はありますか?を使用しようとしましuser_role
たが、存在するロールのリストしか表示されませんでした。他にやるべきことはありますか?
1706 次
1 に答える
2
user_roles()
roles
実際には、データベース テーブルを検索してすべてのロールを抽出するように実装されています。同様のことを実行しusers
て、特定の役割のテーブルを検索できます。以下の関数を見てください
function getUsersByRole($rid = 1) { // rid = Role Id from users_roles table
$query = db_select('users', 'u');
$query->fields('u', array('uid', 'name'));
$query->innerJoin('users_roles', 'r', 'r.uid = u.uid');
$query->condition('r.rid', $rid);
$query->orderBy('u.name');
$result = $query->execute();
$users = array();
foreach ($result as $user) {
$users[] = $user;
}
return $users;
}
$users = getUsersByRole(3);
var_dump($users);
Drupal環境内で実行することを確認してください。
于 2013-08-06T15:01:12.293 に答える