hasMany(VariantOptionCompl::className(), [ 'variant_option_group_compl_id' => 'id' ]) ->inverseOf('variantOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getVariantOptionGroupComplLangs() { return $this->hasMany(VariantOptionGroupComplLang::className(), [ 'variant_option_group_compl_id' => 'id' ]) ->inverseOf('variantOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getLanguages() { return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) ->viaTable('variant_option_group_compl_lang', [ 'variant_option_group_compl_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getVariantOptionGroupComplToCategories() { return $this->hasMany( VariantOptionGroupComplToCategory::className(), [ 'variant_option_group_compl_id' => 'id' ] ) ->inverseOf('variantOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getCategories() { return $this->hasMany(Category::className(), [ 'id' => 'category_id' ]) ->viaTable( 'variant_option_group_compl_to_category', [ 'variant_option_group_compl_id' => 'id' ] ); } /** * @inheritdoc */ public function getOptions() { return $this->getVariantOptionCompls() ->inverseOf('group'); } public function insertCategories(array $batch) { $query = \Yii::$app->db->createCommand() ->batchInsert( 'variant_option_group_compl_to_category', [ 'variant_option_group_compl_id', 'category_id', 'sort', 'status', 'in_menu', 'is_filter', ], $batch ); $query->execute(); } }