code: public function afterSave()
      {
          if ($this->_tagsList === null) {
              return;
          }
          $relation = $this->owner->getRelation('tagsList', false);
          if (!($relation instanceof ActiveQuery)) {
              return;
          }
          if (!$this->owner->getIsNewRecord()) {
              // clear old tags
              $this->beforeDelete();
              $this->afterDelete();
          }
          /** @var ActiveRecord $relationClass */
          $relationClass = $relation->modelClass;
          $ownerTagsList = [];
          foreach ($this->_tagsList as $tagText) {
              /* @var ActiveRecord $tag */
              $tag = $relationClass::findOne(['text' => $tagText]);
              if ($tag === null) {
                  $tag = new $relationClass();
                  $tag->setAttribute('text', $tagText);
              }
              $tag->setAttribute('count', $tag->getAttribute('count') + 1);
              if ($tag->save()) {
                  $ownerTagsList[] = [$this->owner->getPrimaryKey(), $tag->getPrimaryKey()];
              }
          }
          if (!empty($ownerTagsList)) {
              $this->owner->getDb()
                  ->createCommand()
                  ->batchInsert($relation->via->from[0], [key($relation->via->link), current($relation->link)], $ownerTagsList)
                  ->execute();
          }
      }
docs: After owner save action