hasMany(ProductOptionCompl::className(), [ 'product_option_group_compl_id' => 'id' ]) ->inverseOf('productOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getProductOptionGroupComplLangs() { return $this->hasMany(ProductOptionGroupComplLang::className(), [ 'product_option_group_compl_id' => 'id' ]) ->inverseOf('productOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getLanguages() { return $this->hasMany(Language::className(), [ 'id' => 'language_id' ]) ->viaTable('product_option_group_compl_lang', [ 'product_option_group_compl_id' => 'id' ]); } /** * @return \yii\db\ActiveQuery */ public function getProductOptionGroupComplToCategories() { return $this->hasMany( ProductOptionGroupComplToCategory::className(), [ 'product_option_group_compl_id' => 'id' ] ) ->inverseOf('productOptionGroupCompl'); } /** * @return \yii\db\ActiveQuery */ public function getCategories() { return $this->hasMany(Category::className(), [ 'id' => 'category_id' ]) ->viaTable( 'product_option_group_compl_to_category', [ 'product_option_group_compl_id' => 'id' ] ); } /** * @inheritdoc */ public function getOptions() { return $this->getProductOptionCompls() ->inverseOf('group'); } public function insertCategories(array $batch) { $query = \Yii::$app->db->createCommand() ->batchInsert( 'product_option_group_compl_to_category', [ 'product_option_group_compl_id', 'category_id', 'sort', 'status', 'in_menu', 'is_filter', ], $batch ); $query->execute(); } }