SaveImgBehavior::className(), 'fields' => [ [ 'name' => 'image', 'directory' => 'tax_option', ], ], ], 'language' => [ 'class' => LanguageBehavior::className(), ], ]; } /** * @inheritdoc */ public static function tableName() { return '{{%tax_option}}'; } /** * @inheritdoc */ public function rules() { return [ [ [ 'tax_group_id', 'sort', ], 'integer', ], [ [ 'tax_group_id' ], 'exist', 'skipOnError' => true, 'targetClass' => TaxGroup::className(), 'targetAttribute' => [ 'tax_group_id' => 'id' ], ], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => Yii::t('app', 'Tax Option ID'), 'tax_group_id' => Yii::t('app', 'Tax Group ID'), 'sort' => Yii::t('app', 'Sort'), 'image' => Yii::t('product', 'Image'), ]; } /** * @return \yii\db\ActiveQuery */ public function getTaxGroup() { return $this->hasOne(TaxGroup::className(), [ 'id' => 'tax_group_id' ]) ->inverseOf('taxOptions'); } /** * Synonim for TaxOption::getTaxGroup() * * @see TaxOption::getTaxGroup() * @return \yii\db\ActiveQuery */ public function getGroup() { return $this->getTaxGroup(); } /** * @return ActiveQuery */ public function getProducts() { return $this->hasMany(Product::className(), [ 'id' => 'product_id' ]) ->viaTable('product_option', [ 'option_id' => 'id' ]); } /** * @return ActiveQuery */ public function getProductVariants() { return $this->hasMany(ProductVariant::className(), [ 'id' => 'product_variant_id' ]) ->viaTable('product_variant_option', [ 'option_id' => 'id' ]); } }