| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- <?php
- namespace App\Modes;
- use Illuminate\Database\Eloquent\Model;
- use Spatie\Permission\Models\Permission;
- use Spatie\Permission\Models\Role;
- /**
- * App\Modes\SystemPermissions
- *
- * @property int $id
- * @property string $name
- * @property string $guard_name
- * @property \Illuminate\Support\Carbon|null $created_at
- * @property \Illuminate\Support\Carbon|null $updated_at
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions newModelQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions newQuery()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions query()
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereCreatedAt($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereGuardName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereId($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereName($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereUpdatedAt($value)
- * @mixin \Eloquent
- * @property string $remark 权限备注
- * @property int $pid 上级菜单
- * @property int $status 状态 1-正常 2-禁用
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions wherePid($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereRemark($value)
- * @method static \Illuminate\Database\Eloquent\Builder|\App\Modes\SystemPermissions whereStatus($value)
- */
- class SystemPermissions extends Model
- {
- //
- /**
- * 权限-添加
- * @author fatty
- * @date 2019/1/8
- * @param array $all
- * @description
- */
- public static function create(array $all)
- {
- $role = Role::findByName('超级管理员', config('permission.guard'));
- $permission = Permission::create(['name' => $all['name'], 'guard_name' => config('permission.guard'), 'pid' => $all['pid'], 'remark' => $all['remark']]);
- return $permission->assignRole($role);
- }
- /**
- * 权限-删除
- * @author fatty
- * @date 2019/1/9
- * @param $id
- * @description
- * 删除权限关联
- * 删除权限
- */
- public static function del($id)
- {
- return \DB::transaction(function () use ($id) {
- // 获取所有权限与角色关联的数据
- $role = SystemRoleHasPermissions::where('permission_id', $id)->get();
- $permission = Permission::findById($id, config('permission.guard'));
- collect($role)->each(function ($item, $key) use ($permission) {
- $role = Role::findById($item['role_id'], config('permission.guard'));
- $permission->removeRole($role);
- });
- return Permission::where(['id' => $id])->delete();
- });
- }
- /**
- * 编辑
- * @author fatty
- * @date 2019/1/9
- * @param array $all
- * @return bool
- * @description
- */
- public static function edit(array $all)
- {
- $permission = SystemPermissions::find($all['id']);
- if ($all['name']) {
- $permission->name = $all['name'];
- }
- if ($all['pid']) {
- $permission->pid = $all['pid'];
- }
- if ($all['remark']) {
- $permission->remark = $all['remark'];
- }
- return $permission->save();
- }
- }
|