我有3张桌子;用户,组和权限
在模型中,我在用户模型中将关系设置为belongsToMany:
public function groups() { return $this->belongsToMany('Group'); }
在组模型中:
public function users() { return $this->belongsToMany('User'); } public function permissions() { return $this->belongsToMany('Permission'); }
在权限模型中:
public function groups() { return $this->belongsToMany('Group', 'id'); }
许多用户-到-许多组许多组-到-许多权限
我试图获得用户的所有权限,却不知道它的代码应该是什么样。有人可以帮忙吗?
这是您可以执行的操作:
User::where('id', $id)->with(['groups.permissions' => function ($q) use (&$permissions) { $permissions = $q->get()->unique(); }])->first(); // then $permissions; // collection of unique permissions of the user with id = $id