From 4d375d2725a4091da92265df370d3fae4e69f1e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B9=80=EB=B3=B4=EA=B3=A4?= Date: Sat, 28 Feb 2026 16:01:36 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20[leaves]=20=EA=B2=B0=EC=9E=AC=20?= =?UTF-8?q?=EC=8A=B9=EC=9D=B8=20=EC=8B=9C=20=EC=B5=9C=EC=A2=85=EA=B2=B0?= =?UTF-8?q?=EC=9E=AC=EC=9E=90=20ID=20=EC=A1=B0=ED=9A=8C=20=EC=88=98?= =?UTF-8?q?=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - $approval->steps (캐시된 컬렉션) → $approval->steps() (fresh 쿼리)로 변경 - 트랜잭션 내에서 업데이트된 step이 정확히 반영되도록 수정 --- app/Services/HR/LeaveService.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/Services/HR/LeaveService.php b/app/Services/HR/LeaveService.php index 18a4bf31..4b1d73d3 100644 --- a/app/Services/HR/LeaveService.php +++ b/app/Services/HR/LeaveService.php @@ -274,10 +274,10 @@ public function approveByApproval(Leave $leave, Approval $approval): Leave { $tenantId = $leave->tenant_id; - // 최종 결재자 ID 찾기 - $lastApprover = $approval->steps + // 최종 결재자 ID 찾기 (DB에서 fresh하게 조회) + $lastApprover = $approval->steps() ->where('status', 'approved') - ->sortByDesc('step_order') + ->orderByDesc('step_order') ->first(); $leave->update([