hasMany(ProductOptionExcl::className(), [ 'product_option_group_excl_id' => 'id' ]) ->inverseOf('productOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getProductOptionGroupExclLangs() { return $this->hasMany(ProductOptionGroupExclLang::className(), [ 'product_option_group_excl_id' => 'id' ]) ->inverseOf('productOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getLanguages() { return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) ->viaTable('product_option_group_excl_lang', [ 'product_option_group_excl_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getProductOptionGroupExclToCategories() { return $this->hasMany( ProductOptionGroupExclToCategory::className(), [ 'product_option_group_excl_id' => 'id' ] ) ->inverseOf('productOptionGroupExcl'); } /** * @return \yii\db\ActiveQuery */ public function getCategories() { return $this->hasMany(Category::className(), [ 'id' => 'category_id' ]) ->viaTable('product_option_group_excl_to_category', [ 'product_option_group_excl_id' => 'id' ]); } /** * @inheritdoc */ public function getOptions() { return $this->getProductOptionExcls() ->inverseOf('group'); } public function insertCategories(array $batch) { $query = \Yii::$app->db->createCommand() ->batchInsert( 'product_option_group_excl_to_category', [ 'product_option_group_excl_id', 'category_id', 'sort', 'status', 'in_menu', 'is_filter', ], $batch ); $query->execute(); } }