diff --git a/src/Prettus/Repository/Eloquent/BaseRepository.php b/src/Prettus/Repository/Eloquent/BaseRepository.php
index <HASH>..<HASH> 100644
--- a/src/Prettus/Repository/Eloquent/BaseRepository.php
+++ b/src/Prettus/Repository/Eloquent/BaseRepository.php
@@ -670,10 +670,13 @@ abstract class BaseRepository implements RepositoryInterface, RepositoryCriteria
             // we should pass data that has been casts by the model
             // to make sure data type are same because validator may need to use
             // this data to compare with data that fetch from database.
+            $model = $this->model->newInstance();
+            $model->setRawAttributes([]);
+            $model->setAppends([]);
             if ($this->versionCompare($this->app->version(), "5.2.*", ">")) {
-                $attributes = $this->model->newInstance()->forceFill($attributes)->makeVisible($this->model->getHidden())->toArray();
+                $attributes = $model->forceFill($attributes)->makeVisible($this->model->getHidden())->toArray();
             } else {
-                $model = $this->model->newInstance()->forceFill($attributes);
+                $model->forceFill($attributes);
                 $model->makeVisible($this->model->getHidden());
                 $attributes = $model->toArray();
             }
BUGFIX: If an array $attributes exists in the model, its data is written to the table when the repository is updated (#<I>)

Details in test:

<URL>