id}: {$admin->name}\n"; foreach ($adminRoles as $adminRole) { $scopedName = 'Admin\\' . $admin->id . '\\' . $adminRole->name; $spatieRole = \Spatie\Permission\Models\Role::firstOrCreate( ['name' => $scopedName, 'guard_name' => 'web'] ); $wasCreated = $spatieRole->wasRecentlyCreated; $spatieRole->syncPermissions($adminRole->permissions ?? []); echo ' ' . ($wasCreated ? '[CREATED] ' : '[synced] ') . $scopedName . "\n"; } } app()[\Spatie\Permission\PermissionRegistrar::class]->forgetCachedPermissions(); echo "\nAll scoped roles ensured and permissions synced. Cache cleared.\n";