SaveImgBehavior::className(), 'fields' => [ [ 'name' => 'image', 'directory' => 'blog/category', ], ], ], 'language' => [ 'class' => LanguageBehavior::className(), ], 'Slug' => [ 'class' => 'common\behaviors\Slug', ], ]; } /** * @inheritdoc */ public function rules() { return [ [ [ 'sort', 'parent_id', ], 'integer', ], [ [ 'status' ], 'boolean', ], [ [ 'image' ], 'string', 'max' => 255, ], [ [ 'parent_id' ], 'default', 'value' => 0, ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'sort' => 'Sort', 'image' => 'Image', 'parent_id' => 'Parent ID', 'status' => 'Status', ]; } /** * @return \yii\db\ActiveQuery */ public function getBlogArticles() { return $this->hasMany(BlogArticle::className(), [ 'id' => 'blog_article_id' ]) ->viaTable('blog_article_to_category', [ 'blog_category_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getBlogCategoryLangs() { return $this->hasMany(BlogCategoryLang::className(), [ 'blog_category_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getLanguages() { return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) ->viaTable('blog_category_lang', [ 'blog_category_id' => 'id' ]); } public function getParent() { return $this->hasOne(BlogCategory::className(), [ 'id' => 'parent_id' ]); } }