2
0
Просмотр исходного кода

🐛 fix(crud): 修复关键词搜索条件逻辑错误

- 为搜索条件添加括号,确保 OR 条件正确组合
- 移除调试用的 SQL 打印语句,保持代码整洁
yourname 6 месяцев назад
Родитель
Сommit
3c9e499f88
1 измененных файлов с 6 добавлено и 2 удалено
  1. 6 2
      src/server/utils/generic-crud.service.ts

+ 6 - 2
src/server/utils/generic-crud.service.ts

@@ -54,7 +54,7 @@ export abstract class GenericCrudService<T extends ObjectLiteral> {
 
     // 关键词搜索
     if (keyword && searchFields && searchFields.length > 0) {
-      query.andWhere(searchFields.map(field => `entity.${field} LIKE :keyword`).join(' OR '), {
+      query.andWhere(`(${searchFields.map(field => `entity.${field} LIKE :keyword`).join(' OR ')})`, {
         keyword: `%${keyword}%`
       });
     }
@@ -116,7 +116,11 @@ export abstract class GenericCrudService<T extends ObjectLiteral> {
       query.orderBy(`entity.${key}`, direction);
     });
 
-    return query.skip(skip).take(pageSize).getManyAndCount();
+    const finalQuery = query.skip(skip).take(pageSize);
+
+    // console.log(finalQuery.getSql())
+
+    return finalQuery.getManyAndCount();
   }
 
   /**