rkljw 1 개월 전
부모
커밋
20fb4d00fa
1개의 변경된 파일13개의 추가작업 그리고 8개의 파일을 삭제
  1. 13 8
      app/JsonRpc/WebsiteService.php

+ 13 - 8
app/JsonRpc/WebsiteService.php

@@ -42,9 +42,10 @@ class WebsiteService implements WebsiteServiceInterface
      */
     public function getWebsitetList(array $data): array
     {
-        $resultWwhere = Website::when($data, function ($query) use ($data) {
+        // 构建查询
+        $query = Website::when($data, function ($query) use ($data) {
             if (isset($data['keyword']) && !empty($data['keyword'])) {
-                $query->where('website.website_name', 'like', '%' . $data['keyword'] . '%');
+                $query->where('website.website_name', 'like', '%' . trim($data['keyword']) . '%');
             }
             if (isset($data['website_column_id']) && !empty($data['website_column_id'])) {
                 $query->whereJsonContains("website.website_column_arr_id", intval($data['website_column_id']));
@@ -53,13 +54,17 @@ class WebsiteService implements WebsiteServiceInterface
                 $query->whereJsonContains("website.city_arr_id", intval($data['city_id']));
             }
         });
-        $count =  $resultWwhere->leftJoin("website_column", "website.website_column_id", "website_column.id")
-            ->leftJoin("district", "district.id", "website.city_id")->count();
-        $result = $resultWwhere->leftJoin("website_column", "website.website_column_id", "website_column.id")
-            ->leftJoin("district", "district.id", "website.city_id")
-            ->select("website.*", "website_column.column_name", "district.name as city_name")
-            ->limit($data['pageSize'])->offset(($data['page'] - 1) * $data['pageSize'])->orderBy("website.updated_at", "desc")->get();
 
+        // 执行查询并获取总数和结果
+        $queryWithJoins = $query->leftJoin("website_column", "website.website_column_id", "website_column.id")
+            ->leftJoin("district", "district.id", "website.city_id");
+
+        $count = $queryWithJoins->count();
+        $result = $queryWithJoins->select("website.*", "website_column.column_name", "district.name as city_name")
+            ->limit($data['pageSize'])
+            ->offset(($data['page'] - 1) * $data['pageSize'])
+            ->orderBy("website.updated_at", "desc")
+            ->get();
         if (empty($result)) {
             return Result::error("没有数据", 0);
         }