hasMany(VariantOptionExcl::className(), [ 'variant_option_group_excl_id' => 'id' ]) ->inverseOf('variantOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getVariantOptionGroupExclLangs() { return $this->hasMany(VariantOptionGroupExclLang::className(), [ 'variant_option_group_excl_id' => 'id' ]) ->inverseOf('variantOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getLanguages() { return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) ->viaTable('variant_option_group_excl_lang', [ 'variant_option_group_excl_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getVariantOptionGroupExclToCategories() { return $this->hasMany( VariantOptionGroupExclToCategory::className(), [ 'variant_option_group_excl_id' => 'id' ] ) ->inverseOf('variantOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getCategories() { return $this->hasMany(Category::className(), [ 'id' => 'category_id' ]) ->viaTable('variant_option_group_excl_to_category', [ 'variant_option_group_excl_id' => 'id' ]); } /** * @inheritdoc */ public function getOptions() { return $this->getVariantOptionExcls() ->inverseOf('group'); } public function insertCategories(array $batch) { $query = \Yii::$app->db->createCommand() ->batchInsert( 'variant_option_group_excl_to_category', [ 'variant_option_group_excl_id', 'category_id', 'sort', 'status', 'in_menu', 'is_filter', ], $batch ); $query->execute(); } }