/** * @return TaxonomyTerm|null|static */ public function getParent() { if (is_null($this->parent_id)) { /** @var TaxonomyTermHierarchy $hierarchy */ $hierarchy = TaxonomyTermHierarchy::find()->where(['child_id' => $this->id, 'vid' => $this->vid])->one(); $this->parent_id = $hierarchy ? $hierarchy->parent_id : 0; } if (is_null($this->_parent) && is_numeric($this->parent_id)) { $this->_parent = static::findOne($this->parent_id); } return $this->_parent; }