slug($instance, true); return $instance; } /** * Query scope for finding "similar" slugs, used to determine uniqueness. * * @param \Illuminate\Database\Eloquent\Builder $query * @param \Illuminate\Database\Eloquent\Model $model * @param string $attribute * @param array $config * @param string $slug * @return \Illuminate\Database\Eloquent\Builder */ public function scopeFindSimilarSlugs(Builder $query, Model $model, $attribute, $config, $slug) { $separator = $config['separator']; return $query->where(function(Builder $q) use ($attribute, $slug, $separator) { $q->where($attribute, '=', $slug) ->orWhere($attribute, 'LIKE', $slug . $separator . '%'); }); } /** * Return the sluggable configuration array for this model. * * @return array */ abstract public function sluggable(); }