|
|
@@ -380,26 +380,25 @@ class FlexibleVariantController extends Controller
|
|
|
}
|
|
|
//存储变体
|
|
|
foreach ($variants as $variantIndex => $variantData) {
|
|
|
- $variant = new ProductVariant([
|
|
|
- 'product_id' => $this->_product->id,
|
|
|
- ]);
|
|
|
- $basePrice = null;
|
|
|
-
|
|
|
if (! empty($variantData['id'])) {
|
|
|
$variant = ProductVariant::find($variantData['id']);
|
|
|
- // $basePrice = $variant->basePrices->first();
|
|
|
- }
|
|
|
-
|
|
|
- if (! empty($variantData['copied_id'])) {
|
|
|
- $copiedVariant = ProductVariant::find(
|
|
|
- $variantData['copied_id']
|
|
|
- );
|
|
|
-
|
|
|
+ } elseif (! empty($variantData['copied_id'])) {
|
|
|
+ $copiedVariant = ProductVariant::find($variantData['copied_id']);
|
|
|
$variant = $copiedVariant->replicate();
|
|
|
$variant->save();
|
|
|
-
|
|
|
- // $basePrice = $copiedVariant->basePrices->first()->replicate();
|
|
|
- // $basePrice->priceable_id = $variant->id;
|
|
|
+ } else {
|
|
|
+ $variant = ProductVariant::onlyTrashed()
|
|
|
+ ->where('product_id', $this->_product->id)
|
|
|
+ ->where('sku', $variantData['sku'])
|
|
|
+ ->first();
|
|
|
+
|
|
|
+ if ($variant) {
|
|
|
+ $variant->restore();
|
|
|
+ } else {
|
|
|
+ $variant = new ProductVariant([
|
|
|
+ 'product_id' => $this->_product->id,
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
$variant->sku = $variantData['sku'];
|