From 9024174febc4ca2ffbc44ad1f28a4900084e4f52 Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Thu, 15 Oct 2026 11:01:02 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=A0=E9=99=A4=E5=AD=A6=E5=91=98=E8=AF=BE?= =?UTF-8?q?=E7=A8=8B=E4=B8=8D=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Controllers/Admin/CourseController.php | 8 ++++++-- app/Http/Controllers/Admin/OtherController.php | 1 + app/Models/CourseSign.php | 2 +- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/Http/Controllers/Admin/CourseController.php b/app/Http/Controllers/Admin/CourseController.php index 514b1f6..c608676 100755 --- a/app/Http/Controllers/Admin/CourseController.php +++ b/app/Http/Controllers/Admin/CourseController.php @@ -60,7 +60,7 @@ class CourseController extends BaseController $list = $this->model->with(underlineToHump($all['show_relation'] ?? [])) ->withCount([ 'courseSigns' => function ($query) { - $query->whereNotIn('status', [4, 5]); + $query->whereNotIn('status', [4, 5])->whereHas('user'); } ])->withCount([ 'courseSigns as sign_pass_total' => function ($query) { @@ -258,7 +258,11 @@ class CourseController extends BaseController if ($validator->fails()) { return $this->fail([ResponseCode::ERROR_PARAMETER, implode(',', $validator->errors()->all())]); } - $detail = $this->model->withCount('courseSigns')->with(underlineToHump($all['show_relation'] ?? []))->find($all['id']); + $detail = $this->model->withCount([ + 'courseSigns' => function ($query) { + $query->whereHas('user'); + } + ])->with(underlineToHump($all['show_relation'] ?? []))->find($all['id']); if ($detail) { $detail->setAppends(array_values(array_diff($detail->getAppends(), ['qrcode']))); } diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index 23ed97f..d47f929 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -98,6 +98,7 @@ class OtherController extends CommonController $courseIds = Course::where('type', $courseType->id)->pluck('id'); $courseType->course_signs_total = CourseSign::whereIn('course_id', $courseIds) ->where('status', 1) + ->whereHas('user') ->count(); } // 苏州区域数据 diff --git a/app/Models/CourseSign.php b/app/Models/CourseSign.php index 3a5a045..7ad3d72 100755 --- a/app/Models/CourseSign.php +++ b/app/Models/CourseSign.php @@ -98,7 +98,7 @@ class CourseSign extends SoftDeletesModel ->orWhereBetween('end_date', [$start_date, $end_date]); }); } - })->whereNotIn('status', [4, 5, 6]); + })->whereHas('user')->whereNotIn('status', [4, 5, 6]); return $baseQuery; }