$name, 'guard_name' => 'web'], ); $created++; } } // Also create view_any_contact_widget (with underscore) if menuConfig uses it Permission::firstOrCreate( ['name' => 'view_any_contact_widget', 'guard_name' => 'web'], ); foreach (self::EXTRA_PERMISSIONS as $name) { Permission::firstOrCreate( ['name' => $name, 'guard_name' => 'web'], ); $created++; } $roleNames = explode(',', $this->option('role')); $allPerms = Permission::where('guard_name', 'web')->get(); foreach ($roleNames as $roleName) { $roleName = trim($roleName); $role = Role::firstOrCreate( ['name' => $roleName, 'guard_name' => 'web'], ); $role->syncPermissions($allPerms); $this->info("Role [{$roleName}] synced with {$allPerms->count()} permissions"); } $this->info("Done. Total permissions: {$allPerms->count()}"); return static::SUCCESS; } }