'admin@example.com'], [ 'name' => 'admin', 'password' => bcrypt('admin'), ] ); // 2. Buat permission terkait role satu per satu Permission::firstOrCreate(['name' => 'view_any_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'view_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'create_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'update_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'delete_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'delete_any_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'force_delete_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'force_delete_any_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'restore_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'restore_any_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'replicate_role', 'guard_name' => 'web']); Permission::firstOrCreate(['name' => 'reorder_role', 'guard_name' => 'web']); // 3. Ambil semua permission yang berhubungan dengan "_role" $rolePermissions = Permission::where('name', 'like', '%_role')->pluck('name'); // 4. Buat role super_admin jika belum ada $role = Role::firstOrCreate([ 'name' => 'super_admin', 'guard_name' => 'web', ]); // 5. Assign semua permission "_role" ke super_admin $role->syncPermissions($rolePermissions); // 6. Assign role super_admin ke user admin if (!$admin->hasRole($role)) { $admin->assignRole($role); } } }