slug) { $data['slug'] = $this->generateUniqueSlug($data['slug'], $event->id); } $event->update($data); return $event->fresh(); }); } protected function generateUniqueSlug(string $base, int $excludeId): string { $slug = Str::slug($base); $original = $slug; $count = 0; while (Event::where('slug', $slug)->where('id', '!=', $excludeId)->exists()) { $count++; $slug = $original.'-'.$count; } return $slug; } }