Пытаюсь организовать работу каталога следующим образом это модели Category, CatToProd, Product то есть Product связан через CatToProd с Category. Причем у продуктов может быть множество категорий. Категории у продукта сохраняю следующим образом это вид связанный через контролер с моделью продукт
<?=$form->field($model, 'category')->widget(Select2::classname(), [
'data' => $category,
'language' => 'en',
'options' => ['placeholder' => Html::encode('Select Category'),'multiple' => true],
'pluginOptions' => [
'allowClear' => true
],
])->label(false); ?>// $category массив ключ id категории и title
таким образом пытаюсь сохранить в модели
public function afterSave($insert, $changedAttributes)
{
$this->categorySave($this->category,$this->id);
parent::afterSave($insert, $changedAttributes); // TODO: Change the autogenerated stub
}
protected function categorySave($categorysId,$modelId){
$batchArr=array();
foreach ($categorysId as $category){
$batchArr[]=[$category,$modelId];
}
Yii::$app->db->createCommand()->batchInsert('cat_to_prod',['id_category','id_product'],$batchArr)->execute();
}
но тут как говорится неждана параска снискала украинских футболистив. В чем суть при редактировании товара если пытаюсь редактировать категории новые записываются, а если хочу удалить старые они не удаляются. Я даже в идее не могу представить как лучше это организовать. Можете посоветовать куда двигаться.