From 9cbeb33d568c64c9dd70f62b9c0ece411f2126eb Mon Sep 17 00:00:00 2001 From: Chris Tanner Date: Sun, 29 Sep 2024 17:54:22 -0400 Subject: [PATCH] Use model-specified soft delete column name --- src/Observers/DeepSync.php | 3 ++- .../migrations/2024_09_27_160051_create_posts_table.php | 2 +- tests/Models/Post.php | 2 ++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/Observers/DeepSync.php b/src/Observers/DeepSync.php index a4cfc7e..22cb95c 100644 --- a/src/Observers/DeepSync.php +++ b/src/Observers/DeepSync.php @@ -143,7 +143,8 @@ private function reflectionIterator(callable $callback): void private function handleDelete(Collection $parents, Model $childRecord): void { $parents->filter(function($parent) { - return $parent->deleted_at === null; + $deletedAtColumn = $parent->getDeletedAtColumn(); + return $parent->$deletedAtColumn === null; }); if (!count($parents)) { diff --git a/tests/Database/migrations/2024_09_27_160051_create_posts_table.php b/tests/Database/migrations/2024_09_27_160051_create_posts_table.php index 92417ba..8eafa9e 100644 --- a/tests/Database/migrations/2024_09_27_160051_create_posts_table.php +++ b/tests/Database/migrations/2024_09_27_160051_create_posts_table.php @@ -18,7 +18,7 @@ public function up(): void $table->string('title'); $table->text('body'); $table->timestamps(); - $table->softDeletes(); + $table->timestamp('archive_date')->nullable(); }); } diff --git a/tests/Models/Post.php b/tests/Models/Post.php index 2a9cdbb..f768665 100644 --- a/tests/Models/Post.php +++ b/tests/Models/Post.php @@ -27,6 +27,8 @@ class Post extends Model 'is_active' ]; + const DELETED_AT = 'archive_date'; + /** * DeepSync properties and trigger values */