where('spec_id', $spec->id)->find(); if (!$specValue) { $specValue = new self(); $specValue->save([ 'value' => $value, 'spec_id' => $spec->id, 'image' => $image, 'desc' => $desc ]); } else { // 更新图片和描述(如果有新数据) $updateData = []; if ($image && $specValue->image !== $image) { $updateData['image'] = $image; } if ($desc && $specValue->desc !== $desc) { $updateData['desc'] = $desc; } if (!empty($updateData)) { $specValue->save($updateData); } } $data[] = [ 'spec_id' => $spec->id, 'spec_name' => $spec->name, 'spec_value_id' => $specValue->id, 'spec_value_value' => $specValue->value ]; } return $data; } }