/** * Adds a single tag * * @param $tagName string */ private function addTag($tagName) { $tagName = trim($tagName); $tagSlug = TaggingUtil::slug($tagName); $previousCount = $this->tagged()->where('tag_slug', '=', $tagSlug)->take(1)->count(); if ($previousCount >= 1) { return; } $displayer = \Config::get('tagging::displayer'); $displayer = empty($displayer) ? 'Illuminate\\Support\\Str::title' : $displayer; $tagged = new Tagged(array('tag_name' => call_user_func($displayer, $tagName), 'tag_slug' => $tagSlug)); $this->tagged()->save($tagged); TaggingUtil::incrementCount($tagName, $tagSlug, 1); }