Răsfoiți Sursa

Merge remote-tracking branch 'origin/master'

whitefang 1 an în urmă
părinte
comite
b341491c8c

+ 18 - 2
app/adminapi/logic/performance/PerformanceRulesLogic.php

@@ -40,8 +40,14 @@ class PerformanceRulesLogic extends BaseLogic
     {
         Db::startTrans();
         try {
+            $goodsCategoryIds = [];
+            if(  !empty($params['goods_category_ids']) && is_array($params['goods_category_ids'])){
+                foreach($params['goods_category_ids'] as $v){
+                    $goodsCategoryIds[] = end($v);
+                }
+            }
             PerformanceRules::create([
-                'goods_category_ids' => $params['goods_category_ids'],
+                'goods_category_ids' => $goodsCategoryIds,
                 'type' => $params['type'],
                 'rate' => $params['rate'],
             ]);
@@ -67,8 +73,18 @@ class PerformanceRulesLogic extends BaseLogic
     {
         Db::startTrans();
         try {
+            $goodsCategoryIds = [];
+            if(!empty($params['goods_category_ids']) && is_array($params['goods_category_ids'])){
+                foreach($params['goods_category_ids'] as $v){
+                    if(is_array($v)){
+                        $goodsCategoryIds[] = end($v);
+                    } else {
+                        $goodsCategoryIds[] = $v;
+                    }
+                }
+            }
             PerformanceRules::where('id', $params['id'])->update([
-                'goods_category_ids' => $params['goods_category_ids'],
+                'goods_category_ids' => implode(',',$goodsCategoryIds),
                 'type' => $params['type'],
                 'rate' => $params['rate'],
             ]);

+ 5 - 0
app/common/model/performance/PerformanceRules.php

@@ -38,6 +38,11 @@ class PerformanceRules extends BaseModel
 
     public function setGoodsCategoryIdsAttr($value)
     {
+        foreach($value as $k=>$v){
+            if(is_array($v) && !empty($v)){
+                $value[$k] = end($v);
+            }
+        }
         return empty($value) ? null : implode(',', $value);
     }
 }