获取在Laravel中具有角色的所有用户

5 浏览
0 Comments

获取在Laravel中具有角色的所有用户

我正在这个Laravel项目中工作,它有以下结构:

users: id | first_name |...

roles: id | name

assigned_roles: id | user_id | role_id

我认为这很明显 :p

User模型

class User extends ConfideUser {
use HasRole;
public function Roles(){
    return $this->belongsToMany('Role','assigned_roles');
}

Role模型

class Role extends EntrustRole
{
public function Users()
{
    return $this->belongsToMany('User','assigned_roles');
}
} 

我正在寻找一种方法来获取所有具有指定角色(此处为“Teacher”)的用户。我尝试了以下方法:

$students = User::with(array('Roles' => function($query) {
        $query->where('name','Teacher');
    }))
    ->get();
    return $students;

但这总是返回所有用户的数组。

有人知道为什么吗?

谢谢!

0