where('name', '법인차량관리') ->first(); if (! $parentMenu) { $this->command->error('법인차량관리 메뉴를 찾을 수 없습니다.'); return; } // 차량정비이력 메뉴 찾기 $maintenanceMenu = Menu::where('tenant_id', $tenantId) ->where(function ($q) { $q->where('name', '차량정비이력') ->orWhere('name', '차량정비'); }) ->first(); if (! $maintenanceMenu) { $this->command->error('차량정비이력 메뉴를 찾을 수 없습니다.'); Menu::where('tenant_id', $tenantId) ->whereNull('parent_id') ->orderBy('sort_order') ->get(['id', 'name', 'url']) ->each(fn ($m) => $this->command->line(" - [{$m->id}] {$m->name} ({$m->url})")); return; } // 이미 법인차량관리 하위에 있는지 확인 if ($maintenanceMenu->parent_id == $parentMenu->id) { $this->command->info('차량정비이력은 이미 법인차량관리 하위에 있습니다.'); return; } $oldParentId = $maintenanceMenu->parent_id; // 법인차량관리 하위 메뉴 중 최대 sort_order 확인 $maxSortOrder = Menu::where('parent_id', $parentMenu->id) ->max('sort_order') ?? 0; // 차량정비이력을 법인차량관리 하위로 이동 $maintenanceMenu->parent_id = $parentMenu->id; $maintenanceMenu->sort_order = $maxSortOrder + 1; $maintenanceMenu->save(); $this->command->info("차량정비이력 메뉴 이동 완료: parent_id {$oldParentId} → {$parentMenu->id}"); // 결과 출력 $this->command->info(''); $this->command->info('=== 법인차량관리 하위 메뉴 ==='); Menu::where('parent_id', $parentMenu->id) ->orderBy('sort_order') ->get(['name', 'url', 'sort_order']) ->each(fn ($m) => $this->command->info(" {$m->sort_order}. {$m->name} ({$m->url})")); } }