forgetCachedPermissions(); $permission = Permission::firstOrCreate( ['name' => self::PERMISSION, 'guard_name' => 'web'], ['perm_group' => 'Reporting'] ); Role::whereIn('name', ['admin', 'company_manager']) ->where('guard_name', 'web') ->get() ->each(function (Role $role) use ($permission) { if (!$role->hasPermissionTo($permission)) { $role->givePermissionTo($permission); } }); app(PermissionRegistrar::class)->forgetCachedPermissions(); } public function down(): void { app(PermissionRegistrar::class)->forgetCachedPermissions(); $permission = Permission::where('name', self::PERMISSION) ->where('guard_name', 'web') ->first(); if ($permission) { Role::whereIn('name', ['admin', 'company_manager']) ->where('guard_name', 'web') ->get() ->each(function (Role $role) use ($permission) { if ($role->hasPermissionTo($permission)) { $role->revokePermissionTo($permission); } }); } app(PermissionRegistrar::class)->forgetCachedPermissions(); } };