From 5a1ca8359fc20472f4bbd88f94f66dd9ef446f80 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 24 Nov 2025 17:30:36 +0800 Subject: [PATCH] update --- .../Controllers/Admin/OtherController.php | 2 ++ app/Models/CourseSign.php | 29 +++++++++---------- 2 files changed, 16 insertions(+), 15 deletions(-) diff --git a/app/Http/Controllers/Admin/OtherController.php b/app/Http/Controllers/Admin/OtherController.php index 4c11b9a..6857b3d 100755 --- a/app/Http/Controllers/Admin/OtherController.php +++ b/app/Http/Controllers/Admin/OtherController.php @@ -400,6 +400,8 @@ class OtherController extends CommonController case 'course_signs_pass': // 审核通过人数明细 - 使用courseSignsTotal方法获取列表(与coursesHome算法一致) $courseSigns = CourseSign::courseSignsTotal($start_date, $end_date, 1, $course_ids, null, true); + // 加载关联关系 + $courseSigns->load(['user', 'course']); foreach ($courseSigns as $sign) { $data[] = [ diff --git a/app/Models/CourseSign.php b/app/Models/CourseSign.php index a9a8493..317078b 100755 --- a/app/Models/CourseSign.php +++ b/app/Models/CourseSign.php @@ -79,21 +79,20 @@ class CourseSign extends SoftDeletesModel */ public static function getStudentList($start_date = null, $end_date = null, $status = null, $course_ids = null) { - $baseQuery = CourseSign::with('user', 'course') - ->where(function ($query) use ($course_ids, $status) { - if ($status) { - $query->where('status', $status); - } - if (isset($course_ids)) { - $query->whereIn('course_id', $course_ids); - } - })->whereHas('course', function ($query) use ($start_date, $end_date) { - // 开始结束日期的筛选。or查询 - if ($start_date && $end_date) { - $query->whereBetween('start_date', [$start_date, $end_date]) - ->orWhereBetween('end_date', [$start_date, $end_date]); - } - })->whereNotIn('status', [4, 5, 6]); + $baseQuery = CourseSign::where(function ($query) use ($course_ids, $status) { + if ($status) { + $query->where('status', $status); + } + if (isset($course_ids)) { + $query->whereIn('course_id', $course_ids); + } + })->whereHas('course', function ($query) use ($start_date, $end_date) { + // 开始结束日期的筛选。or查询 + if ($start_date && $end_date) { + $query->whereBetween('start_date', [$start_date, $end_date]) + ->orWhereBetween('end_date', [$start_date, $end_date]); + } + })->whereNotIn('status', [4, 5, 6]); return $baseQuery; }