فهرست منبع

[智价云] 校验更新

tangyuanwang 1 روز پیش
والد
کامیت
d07cae2669
1فایلهای تغییر یافته به همراه8 افزوده شده و 8 حذف شده
  1. 8 8
      app/Http/Controllers/Manager/Collect/Product.php

+ 8 - 8
app/Http/Controllers/Manager/Collect/Product.php

@@ -504,18 +504,19 @@ class Product extends Controller
         if (!empty($Product)) {
             //继续校验规格是否存在
             $product_specs_tring = $Product->product_specs;
-            $product_specs = $product_specs_tring ?  explode(',', $product_specs_tring) : '';
+            $product_specs = $product_specs_tring ? explode(',', $product_specs_tring) : '';
             $product_specs = $product_specs ? array_unique($product_specs) : '';
             //继续校平台是否存在
 
             $platform_string = $Product->platform;
-            $platforms = $platform_string ?  explode(',', $platform_string) : '';
+            $platforms = $platform_string ? explode(',', $platform_string) : '';
             $platforms = $platforms ? array_unique($platforms) : '';
 
             $platform_data = $ProductModel->platform_index_data();
             foreach ($platforms as $platform) {
+                // 修正:将 orWhereRaw 改为 orWhere,并传入闭包
                 $product_specs_log = $ProductModel
-                    ->orWhereRaw(function ($querys) use ($product_specs, $platform, $Product) {
+                    ->orWhere(function ($querys) use ($product_specs, $platform, $Product) {
                         $querys->whereRaw("FIND_IN_SET(?, platform)", [$platform])
                             ->where([
                                 'product_brand' => $Product->product_brand,
@@ -525,11 +526,10 @@ class Product extends Controller
                             ])
                             ->where('id', '!=', $Product->id)
                             ->where(function ($query) use ($product_specs) {
-                                // 平台条件(固定)
                                 $query->where(function ($query_li) use ($product_specs) {
                                     if (!empty($product_specs)) {
                                         foreach ($product_specs as $product_spec) {
-                                            if (empty($product_specs)) continue;
+                                            if (empty($product_spec)) continue;
                                             $query_li->orWhereRaw("FIND_IN_SET(?, product_specs)", [$product_spec]);
                                         }
                                     }
@@ -543,7 +543,7 @@ class Product extends Controller
                             });
                         }
                     })
-                    ->orWhereRaw(function ($querys) use ($product_specs, $platform, $Product) {
+                    ->orWhere(function ($querys) use ($product_specs, $platform, $Product) {
                         $querys->whereRaw("FIND_IN_SET(?, platform)", [$platform])
                             ->where([
                                 'product_brand' => $Product->product_brand,
@@ -553,11 +553,10 @@ class Product extends Controller
                             ])
                             ->where('id', '!=', $Product->id)
                             ->where(function ($query) use ($product_specs) {
-                                // 平台条件(固定)
                                 $query->where(function ($query_li) use ($product_specs) {
                                     if (!empty($product_specs)) {
                                         foreach ($product_specs as $product_spec) {
-                                            if (empty($product_specs)) continue;
+                                            if (empty($product_spec)) continue;
                                             $query_li->orWhereRaw("FIND_IN_SET(?, product_specs)", [$product_spec]);
                                         }
                                     }
@@ -571,6 +570,7 @@ class Product extends Controller
                         }
                     })
                     ->first();
+                
                 $platform_name = isset($platform_data[$platform]) ? $platform_data[$platform] : '';
                 if (!empty($product_specs_log) && $status == 0) {
                     return json_send(['code' => 'error', 'msg' => $platform_name . '时间范围内存在重复的商品规格启用记录']);