/** * Boot the model. * * @return void */ public static function boot() { parent::boot(); static::deleted(function ($tag) { $tag->discussions()->detach(); Permission::where('permission', 'like', "tag{$tag->id}.%")->delete(); }); }
/** * {@inheritdoc} */ public function handle(Request $request, array $routeParams = []) { if (!$request->actor->isAdmin()) { throw new PermissionDeniedException(); } $permission = $request->get('permission'); $groupIds = $request->get('groupIds'); Permission::where('permission', $permission)->delete(); Permission::insert(array_map(function ($groupId) use($permission) { return ['permission' => $permission, 'group_id' => $groupId]; }, $groupIds)); return new EmptyResponse(204); }
/** * Reverse the migrations. * * @return void */ public function down() { Permission::where($this->getPermissionAttributes())->delete(); }