【发布时间】:2018-05-17 07:54:47
【问题描述】:
我正在为权限构建中间件。 权限基于用户操作类型和/或模块/元素类型(即删除按钮)。
模型ActionPermission(表action_permission)具有所有权限类型,而表users__action_permission 是User 和ActionPermission 的轴心,具有所有用户及其权限ID。
User
有一个permissions() 方法可以获取用户的所有权限
public function permissions()
{
return $this->hasMany('App\ActionPermission');
}
checkUserPermissions(中间件)
public function handle($request, Closure $next)
{
$response = $next($request);
$userId = Auth::id();
$userPermissions = User::findOrFail($userId)->permissions()->get();
dd($userPermissions);
}
由于permissions() 正在寻找user_id 密钥,而ActionPermission 模型(表action_permission)没有相关的user_id 密钥,我需要拥有user_id 的表users__action_permission。
我的问题是 Laravel 是否有办法让 User::permissions() 访问 users__action_permission 表,还是我需要为此建立一个模型?
【问题讨论】: