From acd1653e6e5e08f5a324169cd1bb612cead75fe6 Mon Sep 17 00:00:00 2001 From: cody <648753004@qq.com> Date: Mon, 19 Jan 2026 11:16:19 +0800 Subject: [PATCH] update --- app/Http/Controllers/Admin/UserController.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 3585156..419e9c2 100755 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -289,11 +289,19 @@ class UserController extends BaseController if (isset($all['course_name'])) { $q->where('name', 'like', '%' . $all['course_name'] . '%'); } - if (isset($all['courses_start_date'])) { - $q->where('start_date', '>=', $all['courses_start_date']); - } - if (isset($all['courses_end_date'])) { - $q->where('end_date', '<=', $all['courses_end_date']); + // 课程日期:与统计一致,start_date 或 end_date 在区间内即计入(whereBetween 重叠逻辑) + if (!empty($all['courses_start_date']) && !empty($all['courses_end_date'])) { + $q->where(function ($query) use ($all) { + $query->whereBetween('start_date', [$all['courses_start_date'], $all['courses_end_date']]) + ->orWhereBetween('end_date', [$all['courses_start_date'], $all['courses_end_date']]); + }); + } else { + if (!empty($all['courses_start_date'])) { + $q->where('start_date', '>=', $all['courses_start_date']); + } + if (!empty($all['courses_end_date'])) { + $q->where('end_date', '<=', $all['courses_end_date']); + } } if (isset($all['courses_ing']) && $all['courses_ing'] == 1) { $q->where(function ($query) use ($all) {