/** * Drops the user's permission cache. * * @return void. */ public function forgetPermissions() { RoleCache::where('user_id', $this->isAnonymous() ? null : $this->user_id)->delete(); switch (env('CACHE_DRIVER')) { case "file": Cache::forget("user.{$this->user_id}.permissions"); break; case "database": DB::table('cache')->where('key', 'like', "%user.{$this->user_id}.%")->delete(); break; default: Cache::tags("user.{$this->user_id}")->flush(); break; } }