Procházet zdrojové kódy

自助建站-流程管理:获取所有通栏(修改数据结构)

15313670163 před 5 měsíci
rodič
revize
a7808afa93
1 změnil soubory, kde provedl 30 přidání a 18 odebrání
  1. 30 18
      app/JsonRpc/PublicRpcService.php

+ 30 - 18
app/JsonRpc/PublicRpcService.php

@@ -2676,26 +2676,33 @@ class PublicRpcService implements PublicRpcServiceInterface
         })
         ->select('sector.sector_name', 'sector_component.sector_id', 'component.*', 'component_img.img_url')
         ->orderBy('component.sort_id')
+        ->orderBy('sector_component.sector_id')
         ->get()->all();
         $com_num = array_count_values(array_column($sector,'sector_id'));
         // 使用 array_keys 和 array_diff 函数,不使用循环将值不为 1 的字段键提取到 $sectors_key 中
         $sectors_key = array_keys(array_diff($com_num, [1]));
         // return Result::success($sector);
         $num = 0;
+        $array_key = 0;
         foreach($sector as $key => $value){
             $sector_id = $value['sector_id'];
-            if(in_array($sector_id,$sectors_key)){
-                // $keys = $key;
-                $sector_key[$num] = $key; 
-                $key =  $sector_key[0];
-                // $comlist_key[$key][$sector_id]['componentList'][$num] = $sector_key ;
+            $sectors[$key] = $value['sector_id'];
+            // if(isset($comlist_key) && !empty($comlist_key)){
+            //     $sector_arr_key[$key] = array_keys($comlist_key);
+            // }
+            if(in_array($sector_id,$sectors_key) && in_array($sector_id,$sectors)){
+                $array_key = array_search($sector_id,$sectors); 
+                if(isset($sectors) && !in_array($sector_id,$sectors)){
+                    $array_key++;
+                }
                 $num++;
-                // $key = $sector_key[0];
+                $array_key++;
             }else{
-                $key = $key-$num;
-                //  $comlist_key[$key][$sector_id]['componentList'] = '';
+                $array_key++;
             }
-            $comlist_key[$key][$sector_id]['sectorName'] = $value['sector_name'];
+            // var_dump($array_key);
+            // var_dump(in_array($sector_id,$sectors_key));
+            $comlist_key[$array_key][$sector_id]['sectorName'] = $value['sector_name'];
             $componentList['component_style'] =  1;
             $componentList['sort'] =  $value['sort_id'];
             
@@ -2744,7 +2751,7 @@ class PublicRpcService implements PublicRpcServiceInterface
                 }else{
                     $ad['thumb'] = $value['img_url'];
                 }
-                $comlist_key[$key][$sector_id]['ad'] =is_object($ad) ? (array)$ad ?? [] : $ad ?? [];
+                $comlist_key[$array_key][$sector_id]['ad'] =is_object($ad) ? (array)$ad ?? [] : $ad ?? [];
                 // 在 $page[$key][$setor_id] 中增加一个键值为 ad 的数组
                 // $page[$key][$setor_id]['ad'] = is_object($ad) ? (array)$ad->ad ?? [] : $ad['ad'] ?? [];
                 
@@ -2758,25 +2765,30 @@ class PublicRpcService implements PublicRpcServiceInterface
                 $componentList['componentData'] = is_object($componentData) ? (array)$componentData ?? [] : $componentData ?? [];
                 $componentList['componentData']['listType'] = $listType->listType;
                 $ad = json_decode($value['ad']) ?? [];
-                $comlist_key[$key][$sector_id]['ad'] =is_object($ad) ? (array)$ad ?? [] : $ad ?? [];
+                $comlist_key[$array_key][$sector_id]['ad'] =is_object($ad) ? (array)$ad ?? [] : $ad ?? [];
 
             }else{
 
             }
-            if(isset($sector_key) && in_array($sector_id,$sectors_key)){
-                $comlist_key[$key][$sector_id]['componentList'][$num-1] = $componentList;
-                $comlist_key[$key][$sector_id]['componentList'] = array_values($comlist_key[$key][$sector_id]['componentList']);
+            if( in_array($sector_id,$sectors_key)){
+                $comlist_key[$array_key][$sector_id]['componentList'][$num-1] = $componentList;
+                $comlist_key[$array_key][$sector_id]['componentList'] = array_values($comlist_key[$array_key][$sector_id]['componentList']);
 
             }else{
-                $comlist_key[$key][$sector_id]['componentList'] = $componentList;
+                $comlist_key[$array_key][$sector_id]['componentList'] = $componentList;
             }
+            $keys[$key] = $key;
+            
+            // $array_key++;
         }
+        //  return Result::success($sector_arr_key);
         // $page[$keys] = array_column($page,$sectors_key[0]);
-        $sector_page = json_encode($comlist_key);
-        if(empty($sector_page)){
+        $comlist_key = array_values($comlist_key);
+        // $sector_page = json_encode($comlist_key);
+        if(empty($comlist_key)){
             return Result::error('通栏不存在!');
         }
-        return Result::success($sector_page);
+        return Result::success($comlist_key);
         // return Result::success(gettype($listType));
     }
     /**