diff --git a/app/Http/Requests/Approval/InboxIndexRequest.php b/app/Http/Requests/Approval/InboxIndexRequest.php index b6d7ac0..702bb65 100644 --- a/app/Http/Requests/Approval/InboxIndexRequest.php +++ b/app/Http/Requests/Approval/InboxIndexRequest.php @@ -22,6 +22,8 @@ public function rules(): array 'sort_dir' => 'nullable|string|in:asc,desc', 'per_page' => 'nullable|integer|min:1', 'page' => 'nullable|integer|min:1', + 'start_date' => 'nullable|date_format:Y-m-d', + 'end_date' => 'nullable|date_format:Y-m-d|after_or_equal:start_date', ]; } } diff --git a/app/Services/ApprovalService.php b/app/Services/ApprovalService.php index 7516427..4e4ce2a 100644 --- a/app/Services/ApprovalService.php +++ b/app/Services/ApprovalService.php @@ -446,6 +446,14 @@ public function inbox(array $params): LengthAwarePaginator } } + // 날짜 범위 필터 + if (! empty($params['start_date'])) { + $query->whereDate('created_at', '>=', $params['start_date']); + } + if (! empty($params['end_date'])) { + $query->whereDate('created_at', '<=', $params['end_date']); + } + // 정렬 $sortBy = $params['sort_by'] ?? 'created_at'; $sortDir = $params['sort_dir'] ?? 'desc';