From b2832bb57f1d5763baf2c0aa68aca0b1cb2310ab Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Fri, 21 Feb 2025 10:37:05 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=B9=E7=9B=AE=E5=88=97=E8=A1=A8=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=97=85=E7=90=86=E7=8A=B6=E6=80=81=E5=88=A4=E6=96=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/dao/Project.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/api/dao/Project.go b/api/dao/Project.go index da87b24..16d4564 100644 --- a/api/dao/Project.go +++ b/api/dao/Project.go @@ -152,7 +152,17 @@ func (r *ProjectDao) GetResProjectListSearch(req requests.GetResProjectList) (m // 状态固定为1 query = query.Where("project_status = ?", 1) - query = query.Preload("Case") + // 使用 Preload 关联 Case 表 + query = query.Preload("Case", func(db *gorm.DB) *gorm.DB { + // 添加 case_status 过滤条件,排除掉 case_status 为 2 的记录 + return db.Where("case_status != ?", 2) + }) + + caseSubQuery := global.Db.Model(&model.Case{}). + Where("case.project_id = project.project_id"). + Where("case.case_status = ?", 1) + + query = query.Where("EXISTS (?)", caseSubQuery) if req.PlatformId != 0 { subQuery := global.Db.Model(&model.ProjectPlatform{}).