Przeglądaj źródła

【程序目录】优化组合数据获取

wuhaotian 6 miesięcy temu
rodzic
commit
0977dfe8b0

+ 3 - 1
crmeb/app/dao/system/config/SystemGroupDataDao.php

@@ -41,7 +41,9 @@ class SystemGroupDataDao extends BaseDao
      */
     public function getGroupDataList(array $where, int $page, int $limit)
     {
-        return $this->search($where)->page($page, $limit)->order('sort desc,id DESC')->select()->toArray();
+        return $this->search($where)->when($page && $limit, function ($query) use ($page, $limit) {
+            $query->page($page, $limit);
+        })->order('sort desc,id DESC')->select()->toArray();
     }
 
     /**

+ 2 - 2
crmeb/app/services/diy/DiyServices.php

@@ -334,9 +334,9 @@ class DiyServices extends BaseServices
         $systemGroupServices = app()->make(SystemGroupServices::class);
         $menus_gid = $systemGroupServices->value(['config_name' => 'routine_my_menus'], 'id');
         $banner_gid = $systemGroupServices->value(['config_name' => 'routine_my_banner'], 'id');
-        $routine_my_menus = $systemGroupDataServices->getGroupDataList(['gid' => $menus_gid]);
+        $routine_my_menus = $systemGroupDataServices->getGroupDataList(['gid' => $menus_gid], 'all');
         $routine_my_menus = $routine_my_menus['list'] ?? [];
-        $routine_my_banner = $systemGroupDataServices->getGroupDataList(['gid' => $banner_gid]);
+        $routine_my_banner = $systemGroupDataServices->getGroupDataList(['gid' => $banner_gid], 'all');
         $routine_my_banner = $routine_my_banner['list'] ?? [];
         $my_banner_status = boolval($info['my_banner_status']);
         return compact('status', 'order_status', 'routine_my_menus', 'routine_my_banner', 'color_change', 'my_banner_status');

+ 2 - 1
crmeb/app/services/system/config/SystemGroupDataServices.php

@@ -74,9 +74,10 @@ class SystemGroupDataServices extends BaseServices
      * @throws \think\db\exception\DbException
      * @throws \think\db\exception\ModelNotFoundException
      */
-    public function getGroupDataList(array $where)
+    public function getGroupDataList(array $where, $type = 'limit')
     {
         [$page, $limit] = $this->getPageValue();
+        if ($type == 'all') $page = $limit = 0;
         $list = $this->dao->getGroupDataList($where, $page, $limit);
         $count = $this->dao->count($where);
         $type = '';