From 9721325bbb5141888b0b95018dedbb01d374846d Mon Sep 17 00:00:00 2001 From: "allen.yan" Date: Fri, 22 Aug 2025 10:07:50 +0800 Subject: [PATCH] =?UTF-8?q?202508221007=20=E4=BF=AE=E6=AD=A3updated=5Fat?= =?UTF-8?q?=20=E4=B8=8D=E5=AF=AB=E8=A8=98=E9=8C=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Observers/RoomObserver.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/app/Observers/RoomObserver.php b/app/Observers/RoomObserver.php index 94a7a0d..4738d4e 100644 --- a/app/Observers/RoomObserver.php +++ b/app/Observers/RoomObserver.php @@ -24,8 +24,8 @@ class RoomObserver */ public function updated(Room $room): void { - // 檢查是否有變更狀態 - if ($room->wasChanged(array_diff(array_keys($room->getChanges()), ['updated_at']))) { + // 如果有變動才記錄 + if ($this->hasChangesExcept($room, ['updated_at'])) { $this->createStatusLog($room); } if ($room->isDirty('status')) { @@ -69,6 +69,14 @@ class RoomObserver ); $this->createStatusLog($room,$message); } + protected function hasChangesExcept($model, array $except = ['updated_at']): bool + { + $changes = $model->getChanges(); + foreach ($except as $key) { + unset($changes[$key]); + } + return !empty($changes); + } /** * 建立 RoomStatusLog