| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Modes;
- use Spatie\Permission\Models\Permission;
- use Spatie\Permission\Models\Role;
- /**
- * App\Modes\SystemRoles
- *
- * @property int $id
- * @property string $name
- * @property int $is_supper 是否超管 1-是 0-否
- * @property string $guard_name
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @property-read \Illuminate\Database\Eloquent\Collection|\Spatie\Permission\Models\Permission[] $permissions
- * @property-read \Illuminate\Database\Eloquent\Collection|\App\Modes\User[] $users
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\Spatie\Permission\Models\Role permission($permissions)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles query()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereGuardName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereIsSupper($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereUpdatedAt($value)
- * @mixin \Eloquent
- * @property int $is_super 是否超级管理员角色
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemRoles whereIsSuper($value)
- */
- class SystemRoles extends Role
- {
- //
- /**
- * 编辑角色信息
- * @author fatty
- * @date 2019/1/9
- * @param array $param
- * @description
- */
- public static function edit(array $param)
- {
- $roles = SystemRoles::find($param['roleId']);
- $roles->name = $param['roleName'];
- return !$roles->save() ?: $roles;
- }
- /**
- * 角色-删除
- * @author fatty
- * @date 2019/1/9
- * @param $id
- * @description
- */
- public static function del($id)
- {
- return \DB::transaction(function () use ($id) {
- // 获取所有与角色相关的权限ID
- $permission = SystemRoleHasPermissions::where('role_id', $id)->get();
- // 获取角色模型
- $role = Role::findById($id, config('permission.guard'));
- if ($role->is_supper == 1) {
- return false;
- }
- // 移除所有的权限
- $role->revokePermissionTo($permission);
- return $role->delete();
- });
- }
- }
|