chengwl 3 месяцев назад
Родитель
Сommit
3aff25880a

+ 15 - 16
packages/Longyi/Core/src/Http/Controllers/Admin/FlexibleVariantController.php

@@ -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'];