Перед тем как все удалить, вначале найти нужную запись, если ли такая запись есть, то мы ее не удаляем, а как-то пропускаем. А в таблицу вносим только отличительные данные. Потому, что если я поправлю описание товара, то у меня все равно в промежуточной таблице все удалиться и добавиться по новой.
[
[['name'], 'required'],
[['name'], 'string', 'min' => 3, 'max' => 16],
[['name'], 'match', 'pattern' => '<regex_rule>']
]