attributes['name'] = $name; if (!$this->exists) { $this->setUniqueSlug($name, ''); } } /** * Recursive routine to set unique slug * * @param $name * @param $extra */ protected function setUniqueSlug($name, $extra) { $slug = str_slug($name.'-'.$extra); if (static::whereSlug($slug)->exists()) { $this->setUniqueSlug($name, $extra + 1); return; } $this->attributes['slug'] = $slug; }