code: public function afterSave($event)
      {
          if (!is_null($this->_taxonomy_id)) {
              $pivotTableClass = Yii::$app->classes[$this->viaModelClass];
              $current = $this->_currentTaxonomies();
              foreach ($this->_taxonomy_id as $taxonomyId) {
                  if (in_array($taxonomyId, $current)) {
                      $deleteKey = array_search($taxonomyId, $current);
                      unset($current[$deleteKey]);
                      continue;
                  }
                  $base = [$this->taxonomyKey => $taxonomyId, $this->relationKey => $this->owner->primaryKey];
                  $taxonomy = new $pivotTableClass();
                  $taxonomy->attributes = $base;
                  if (!$taxonomy->save()) {
                      $event->isValid = false;
                  }
              }
              foreach ($current as $taxonomyId) {
                  $baseFind = [$this->taxonomyKey => $taxonomyId, $this->relationKey => $this->owner->primaryKey];
                  $taxonomy = $pivotTableClass::find()->where($baseFind)->one();
  
                  if ($taxonomy) {
                      if (!$taxonomy->delete()) {
                          $event->isValid = false;
                      }
                  }
              }
          }
      }
docs: [[@doctodo method_description:afterSave]].
  
  @param [[@doctodo param_type:event]] $event [[@doctodo param_description:event]]