command->info('Seeding season-player relationships...'); $seasons = Season::all(); $allPlayerIds = Player::pluck('id'); if ($allPlayerIds->isEmpty()) { $this->command->warn('No players found. Skipping season-player seeding.'); return; } $playersToAttachCount = min(5, $allPlayerIds->count()); foreach ($seasons as $season) { $randomPlayerIds = $allPlayerIds->random($playersToAttachCount); // syncWithoutDetaching гарантирует уникальность связи. // Если такая пара (season_id, player_id) уже есть, она не будет добавлена. $season->players()->syncWithoutDetaching($randomPlayerIds); } $this->command->info('Finished seeding season-player relationships.'); } }