info('Starting to populate MemeMedia slugs...'); $memes = MemeMedia::whereNull('slug')->get(); if ($memes->isEmpty()) { $this->info('No memes found without slugs.'); return; } $this->info("Found {$memes->count()} memes without slugs."); $bar = $this->output->createProgressBar($memes->count()); $bar->start(); foreach ($memes as $meme) { $baseSlug = Str::slug($meme->name); $slug = $baseSlug; $counter = 1; // Ensure slug is unique while (MemeMedia::where('slug', $slug)->exists()) { $slug = $baseSlug.'-'.$counter; $counter++; } $meme->update(['slug' => $slug]); $bar->advance(); } $bar->finish(); $this->newLine(); $this->info('Successfully populated all MemeMedia slugs!'); } }