Laravel Eloquent - Return 具有特定角色的用户(多对多关系)
Laravel Eloquent - Return Users with specific role (many-to-many relationship)
我有一个应用程序,我想在其中查找具有特定角色(在本例中为超级管理员)的所有用户(来自指定客户端)
一个客户端可以有多个用户
public function users() {
return $this->hasMany(User::class);
}
一个用户可以属于多个角色
public function roles() {
return $this->belongsToMany(Role::class);
}
我希望能够 return 来自具有特定角色的客户端的所有用户。
所以在客户端模型中我想要这样的东西:
public function superAdmins() {
return ... // NOT SURE WHAT TO PUT HERE
}
定义关系时,您也可以添加 where()
语句。
这意味着您可以使用 whereHas
:
public function superAdmins() {
return $this->hasMany(User::class)
->whereHas('roles', function($query) {
return $query->where('name', 'super');
});
}
我有一个应用程序,我想在其中查找具有特定角色(在本例中为超级管理员)的所有用户(来自指定客户端)
一个客户端可以有多个用户
public function users() {
return $this->hasMany(User::class);
}
一个用户可以属于多个角色
public function roles() {
return $this->belongsToMany(Role::class);
}
我希望能够 return 来自具有特定角色的客户端的所有用户。
所以在客户端模型中我想要这样的东西:
public function superAdmins() {
return ... // NOT SURE WHAT TO PUT HERE
}
定义关系时,您也可以添加 where()
语句。
这意味着您可以使用 whereHas
:
public function superAdmins() {
return $this->hasMany(User::class)
->whereHas('roles', function($query) {
return $query->where('name', 'super');
});
}