slugExists($modelClass, $column, $slug, $ignoreId)) { $slug = $baseSlug . '-' . $counter; $counter++; } return $slug; } private function slugExists(string $modelClass, string $column, string $slug, ?int $ignoreId): bool { return $modelClass::query() ->when($ignoreId, function ($query) use ($ignoreId): void { $query->where('id', '!=', $ignoreId); }) ->where($column, $slug) ->exists(); } }