app/common/repositories/store/parameter/ParameterValueRepository.php 文件 54 號的循環(huán)修改為如下代碼:
foreach ($data as &$datum) {
if(isset($datum['parameter_id']) && !empty($datum['parameter_id'])) { // 如果有parameter_id,表示是參數(shù)模板中的屬性,需要先清除參數(shù)模板中的屬性
$this->dao->clear($datum['parameter_id'],'parameter_id');
} else if(isset($productId) && !empty($productId)) { // 如果沒有parameter_id,且有productId,表示是某商品新增的屬性,需要先清除商品中的屬性
$this->dao->clear($productId,'product_id');
}
// 創(chuàng)建參數(shù)屬性
foreach ($datum['values'] as &$v) {
$createData = [
'name' => $datum['name'],
'value' => $v['value'],
'mer_id' => $merId,
//如果是存在$datum['parameter_id'],則表示這個屬性是模板中定義的 不需要和商品綁定
'product_id' => isset($datum['parameter_id']) ? 0 : $productId,
'parameter_id' => isset($datum['parameter_id']) ? $datum['parameter_id'] : 0,
];
$create = $this->dao->create($createData);
$v['parameter_value_id'] = $create->parameter_value_id;
if ($productId){
$toProduct[] = [
'product_id' => $productId,
'parameter_value_id' => $v['parameter_value_id']
];
}
}
}