lib/components/db/behaviors/ActiveTaxonomy.php
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;
                    }
                }
            }
        }
    }
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;
                    }
                }
            }
        }
    }
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 ; } } } } }
[[@doctodo method_description:afterSave]].

@param [[@doctodo param_type:event]] $event [[@doctodo param_description:event]]
[[ @doctodo method_description : afterSave ]] .