alikazemayni / easy_permission
此包用于创建一个简单的认证系统
v1.0.20
2023-09-03 11:19 UTC
Requires
- php: 8.1
- miladshm/controller-helpers: 0.8.6
README
描述 : 此包用于在 Laravel 中创建一个简单的认证系统
安装包
composer require alikazemayni/easy_permission
发布文件
php artisan vendor:publish --tag publish-permissions-file
迁移
php artisan migrate
用户关系
public function permissions(): BelongsToMany { $this->belongsToMany(Permission::class, 'user_permission', 'user_id', 'permissions_id')->withTimestamps(); }
获取所有权限和用户权限
ResponderFacade::setData( Permissions::with( ['users' => fn($q) => $q->where('user_id' , $request->user_id),'section'] ) ->get() )->respond();
同步用户权限
public function user(Request $request): JsonResponse{ $permissions = User::findOrFail($request->user_id)->permissions(); $permissions->sync($request->permissions); }
从角色添加用户
$role_permission = Role::findOrFail($request->role_id)->permissions->pluck('id'); if ($request->force) User::findOrFail($request->user_id)->permissions() ->wherePivot('type', 'role')->delete(); User::findOrFail($request->user_id)->permissions() ->syncWithPivotValues($role_permission, ['type' => 'role']); Role::findOrFail($request->role_id)->users()->attach($request->user_id);
从角色移除用户
User::findOrFail($request->user_id)->permissions()->wherePivot('type', 'role')->detach(); Role::findOrFail($request->role_id)->users() ->wherePivot('user_id', $request->user_id)->detach();