我有多对多的用户和角色结构
用户
ID
名称
角色
ID
名称
ROLE_USER
USER_ID
ROLE_ID
模型
User.php
public function roles() {
return $this->belongsToMany('Role');
}
Role.php
public function users() {
return $this->belongsToMany('User');
}
角色表中有两个数据admins
和members
,我想知道过滤用户哪个角色是管理员。
答案 0 :(得分:13)
这应该为您提供所有管理员用户。
$users = User::whereHas('roles', function($q) {
$q->where('name', '=', 'admins');
})->get();
您可以在http://laravel.com/docs/eloquent#querying-relations
上查看有关has()
方法的更多信息