From a7825ef1b4ceb069fb6fa0e67ec1990ce71a3ce4 Mon Sep 17 00:00:00 2001 From: Simon Rogers Date: Mon, 6 Apr 2026 14:38:00 +0100 Subject: [PATCH] [bug/fix-bootable-uuid] Fix HasUuid boot method and preserve preset UUIDs --- src/Traits/Eloquent/HasUuid.php | 6 +++--- tests/Traits/Eloquent/HasUuidTest.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Traits/Eloquent/HasUuid.php b/src/Traits/Eloquent/HasUuid.php index 14293d5..3577ed2 100644 --- a/src/Traits/Eloquent/HasUuid.php +++ b/src/Traits/Eloquent/HasUuid.php @@ -14,11 +14,11 @@ trait HasUuid * This method is called automatically when the trait is being used by a model. * It registers a "creating" event that generates a UUID and assigns it to the specified column. */ - public static function bootHasUUID(): void + public static function bootHasUuid(): void { - static::creating(function ($model) { + static::creating(function ($model): void { $column = $model->getUuidColumn(); - $model->$column = uuid(); + $model->$column ??= uuid(); }); } diff --git a/tests/Traits/Eloquent/HasUuidTest.php b/tests/Traits/Eloquent/HasUuidTest.php index 50aaaf9..65149e3 100644 --- a/tests/Traits/Eloquent/HasUuidTest.php +++ b/tests/Traits/Eloquent/HasUuidTest.php @@ -12,7 +12,7 @@ }; // Simulate the "creating" event - $model->bootHasUUID(); + $model->bootHasUuid(); expect($model)->toBeInstanceOf(Model::class); });