From 62265b4549531e0979bf935f9e8078ada7c79acc Mon Sep 17 00:00:00 2001 From: Dugan Dobbs Date: Thu, 21 Mar 2024 17:02:42 -0400 Subject: [PATCH 1/3] Shouldn't use original data in postCreate --- src/Venturecraft/Revisionable/RevisionableTrait.php | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Venturecraft/Revisionable/RevisionableTrait.php b/src/Venturecraft/Revisionable/RevisionableTrait.php index 0def63f..d41e84a 100644 --- a/src/Venturecraft/Revisionable/RevisionableTrait.php +++ b/src/Venturecraft/Revisionable/RevisionableTrait.php @@ -245,7 +245,7 @@ public function postCreate() //Determine if there are any additional fields we'd like to add to our model contained in the config file, and //get them into an array. - $revisions = array_merge($revisions[0], $this->getAdditionalFields()); + $revisions = array_merge($revisions[0], $this->getAdditionalFields(false)); $revision = Revisionable::newModel(); \DB::table($revision->getTable())->insert($revisions); @@ -339,15 +339,17 @@ public function getSystemUserId() } - public function getAdditionalFields() + public function getAdditionalFields($useOriginalData = true) { $additional = []; + // If this is coming from postCreate, we shouldn't use original data as there is no original data. + $dataToUse = $useOriginalData ? $this->originalData : $this->toArray(); //Determine if there are any additional fields we'd like to add to our model contained in the config file, and //get them into an array. $fields = config('revisionable.additional_fields', []); foreach($fields as $field) { - if(Arr::has($this->originalData, $field)) { - $additional[$field] = Arr::get($this->originalData, $field); + if(Arr::has($dataToUse, $field)) { + $additional[$field] = Arr::get($dataToUse, $field); } } From 50878aaede2513796a998d6dafbfb889448ab8b0 Mon Sep 17 00:00:00 2001 From: Dugan Dobbs Date: Fri, 21 Mar 2025 11:24:39 -0400 Subject: [PATCH 2/3] Attempting ghetto user reference --- src/Venturecraft/Revisionable/Revision.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Venturecraft/Revisionable/Revision.php b/src/Venturecraft/Revisionable/Revision.php index 2fdc838..9673d9f 100644 --- a/src/Venturecraft/Revisionable/Revision.php +++ b/src/Venturecraft/Revisionable/Revision.php @@ -290,4 +290,8 @@ public function format($key, $value) return $value; } } + + public function user(){ + return $this->belongsTo($this->getActualClassNameForMorph($this->revisionable_type), 'user_id','id'); + } } From 79b50147dc739bbddaa400840c0c771683e06525 Mon Sep 17 00:00:00 2001 From: Dugan Dobbs Date: Fri, 21 Mar 2025 11:30:19 -0400 Subject: [PATCH 3/3] Attempt2 --- src/Venturecraft/Revisionable/Revision.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Venturecraft/Revisionable/Revision.php b/src/Venturecraft/Revisionable/Revision.php index 9673d9f..cc49f40 100644 --- a/src/Venturecraft/Revisionable/Revision.php +++ b/src/Venturecraft/Revisionable/Revision.php @@ -292,6 +292,6 @@ public function format($key, $value) } public function user(){ - return $this->belongsTo($this->getActualClassNameForMorph($this->revisionable_type), 'user_id','id'); + return $this->belongsTo(app('config')->get('auth.model'), 'user_id','id'); } }