如何在Laravel中按角色获取用户过滤器

时间:2014-07-21 09:29:51

标签: laravel-4

我有用户,角色和role_user表。

user.php的

public function roels()
{
    return $this->belongsToMany('Role');
}

Role.php

public function users()
{
    return $this->belongsToMany('User');
}

用户可以拥有多个角色,例如admin,sub-admin,member,如何按角色列出用户,如所有管理员或所有子管理员?

1 个答案:

答案 0 :(得分:1)

有很多方法。试试这个:

$admins = User::whereHas('roles', function ($q) {
  $q->where('roles.name', '=', 'admin'); // or whatever constraint you need here
})->get();

或:

$adminRole = Role::where('name', 'admin')->first();
$admins = $adminRole->users;