【发布时间】:2016-06-02 05:30:01
【问题描述】:
我为我的用户设置了权限/角色。 这是通过6张桌子
- 用户
- 角色
- 权限
- role_user
- permission_role
- permission_user
而用户类有以下功能:
public function permissions(){
return $this->belongsToMany(Permission::class);
}
public function roles(){
return $this->belongsToMany(Role::class);
}
权限类有以下功能
public function roles() {
return $this->belongsToMany(Role::class);
}
public function users() {
return $this->hasMany(User::class);
}
最后Role具有以下功能:
public function permissions() {
return $this->belongsToMany(Permission::class);
}
public function users() {
return $this->belongsToMany(User::class);
}
所以现在我想请求一个具有列出的所有权限和所有角色的用户,所以我创建了:
$u = \Auth::user();
return User::with('roles.permissions')->with('permissions')->find($u->id);
返回类似的东西
{
id: 53,
name: "name",
username: "username",
avatar: "",
email: "email",
created_at: "2016-02-20 14:36:54",
updated_at: "2016-02-20 14:36:54",
roles: [{
id: 1,
name: "edit_forum",
label: "Edit Forum",
created_at: "2016-02-20 12:33:50",
updated_at: "2016-02-20 12:33:50",
permissions: [{
id: 2,
name: "Testing stuff",
label: null,
created_at: "2016-02-20 16:50:02",
updated_at: "2016-02-20 16:50:02"
}]
}],
permissions: [{
id: 1,
name: "Testing",
label: null,
created_at: "2016-02-20 16:50:02",
updated_at: "2016-02-20 16:50:02"
}]
}
如您所见,它的角色的权限在一个单独的数组中,现在我正在尝试 2 件事,但我似乎无法弄清楚如何制作这些功能:
首先: 获取用户自身的所有权限以及1个数组中的权限。
第二: 通过单个作用域/函数获取它
【问题讨论】:
-
你有什么问题?
-
我要归档的两件事
标签: php laravel permissions laravel-5.2