예제 #1
0
 /**
  * Handle save tags event of the owner.
  */
 public function saveTags()
 {
     /** @var Post $owner */
     $owner = $this->owner;
     $post = Yii::$app->getRequest()->post('Post');
     $tags = isset($post['tagValues']) ? $post['tagValues'] : null;
     if (is_array($tags)) {
         $owner->unlinkAll('tags', true);
         foreach ($tags as $tag) {
             if (!ctype_digit($tag) || !($linkTag = Tag::findOne($tag))) {
                 $linkTag = new Tag(['title' => (string) $tag]);
                 $linkTag->setScenario(Tag::SCENARIO_AUTOGENERATED);
                 $linkTag->save();
             }
             $owner->link('tags', $linkTag);
         }
     }
 }