first(); if (!$demoTenant) { $this->command->info('Demo tenant not found, skipping task collections seeding'); return; } // Get demo event ID $demoEvent = Event::where('slug', 'demo-wedding-2025')->first(); if (!$demoEvent) { $this->command->info('Demo event not found, skipping task collections seeding'); return; } // Get some task IDs for demo (assuming TasksSeeder was run) $taskIds = Task::where('tenant_id', $demoTenant->id)->limit(6)->get('id')->pluck('id')->toArray(); if (empty($taskIds)) { $this->command->info('No tasks found, skipping task collections seeding'); return; } // Create Wedding Task Collection using Eloquent $weddingCollection = TaskCollection::create([ 'tenant_id' => $demoTenant->id, 'name' => [ 'de' => 'Hochzeitsaufgaben', 'en' => 'Wedding Tasks' ], 'description' => [ 'de' => 'Spezielle Aufgaben für Hochzeitsgäste', 'en' => 'Special tasks for wedding guests' ], ]); // Assign first 4 tasks to wedding collection using Eloquent $weddingTasks = collect($taskIds)->take(4); $weddingCollection->tasks()->attach($weddingTasks); // Link wedding collection to demo event using Eloquent $demoEvent->taskCollections()->attach($weddingCollection, ['sort_order' => 1]); // Create General Fun Tasks Collection (fallback) using Eloquent $funCollection = TaskCollection::create([ 'tenant_id' => $demoTenant->id, 'name' => [ 'de' => 'Spaß-Aufgaben', 'en' => 'Fun Tasks' ], 'description' => [ 'de' => 'Allgemeine unterhaltsame Aufgaben', 'en' => 'General entertaining tasks' ], ]); // Assign remaining tasks to fun collection using Eloquent $funTasks = collect($taskIds)->slice(4); $funCollection->tasks()->attach($funTasks); // Link fun collection to demo event as fallback using Eloquent $demoEvent->taskCollections()->attach($funCollection, ['sort_order' => 2]); $this->command->info("✅ Created 2 task collections with " . count($taskIds) . " tasks for demo event"); $this->command->info("Wedding Collection ID: {$weddingCollection->id}"); $this->command->info("Fun Collection ID: {$funCollection->id}"); } }