From ae1bc39c5425160737008dc356cc5b818f7cfc0d Mon Sep 17 00:00:00 2001 From: Tofandel Date: Mon, 1 Apr 2024 15:36:24 +0200 Subject: [PATCH] fix: don't delete and recreate existing mediables and fileables --- src/Repositories/Behaviors/HandleFiles.php | 6 +----- src/Repositories/Behaviors/HandleMedias.php | 6 +----- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/src/Repositories/Behaviors/HandleFiles.php b/src/Repositories/Behaviors/HandleFiles.php index b1121f8bb0..cacbffc1d6 100644 --- a/src/Repositories/Behaviors/HandleFiles.php +++ b/src/Repositories/Behaviors/HandleFiles.php @@ -47,11 +47,7 @@ public function afterSaveHandleFiles($object, $fields) return; } - $object->files()->sync([]); - - $this->getFiles($fields)->each(function ($file) use ($object) { - $object->files()->attach($file['id'], Arr::except($file, ['id'])); - }); + $object->files()->sync($this->getFiles($fields)->map(fn ($file) => Arr::except($file, ['id']) + ['file_id' => $file['id']])); } /** diff --git a/src/Repositories/Behaviors/HandleMedias.php b/src/Repositories/Behaviors/HandleMedias.php index 4d38b58c1a..7285120275 100644 --- a/src/Repositories/Behaviors/HandleMedias.php +++ b/src/Repositories/Behaviors/HandleMedias.php @@ -53,11 +53,7 @@ public function afterSaveHandleMedias($object, $fields) return; } - $object->medias()->sync([]); - - $this->getMedias($fields)->each(function ($media) use ($object) { - $object->medias()->attach($media['id'], Arr::except($media, ['id'])); - }); + $object->medias()->sync($this->getMedias($fields)->map(fn ($media) => Arr::except($media, ['id']) + ['media_id' => $media['id']])); } /**