/** * Adds the parents for this model * ParentMap are specieid in the parent_ids attribute * Parent object belong to the same table */ public function addParentMap() { $parents = []; $ids = array_filter(is_array($this->parent_ids) ? $this->parent_ids : explode(',', $this->parent_ids)); $parentModels = static::find()->where(['id' => $ids])->asArray()->indexBy('id')->all(); foreach ((array) $parentModels as $parent) { if (is_array($parent)) { $parents[] = ['remote_type' => $this->slug, 'parent_id' => $parent['id'], 'parent_type' => $parent['slug'], 'parent_class' => static::className(), 'parent_table' => $this->tableName()]; } } return parent::addParentMap($parents); }