From 8ea9378c784dca48e5d8e2f5738c9e0427f14734 Mon Sep 17 00:00:00 2001 From: Yoga Pangestu Date: Sun, 16 Aug 2026 15:17:32 +0700 Subject: [PATCH] feat: update variant and price deletion logic to preserve media collections in ProductService and RawMaterialService --- app/Services/Admin/Master/Product/ProductService.php | 3 +-- app/Services/Admin/Master/RawMaterial/RawMaterialService.php | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/app/Services/Admin/Master/Product/ProductService.php b/app/Services/Admin/Master/Product/ProductService.php index 357a508..45a545d 100644 --- a/app/Services/Admin/Master/Product/ProductService.php +++ b/app/Services/Admin/Master/Product/ProductService.php @@ -234,12 +234,11 @@ public function update(Product $product, array $data): Product ->filter() ->toArray(); - // Delete removed variants (cascade prices + media) + // Delete removed variants (cascade prices only, preserve media) $product->productVariants() ->whereNotIn('id', $existingVariantIds) ->each(function (ProductVariant $variant) { $variant->productPrices()->delete(); - $variant->clearMediaCollection('images'); $variant->delete(); }); diff --git a/app/Services/Admin/Master/RawMaterial/RawMaterialService.php b/app/Services/Admin/Master/RawMaterial/RawMaterialService.php index a2dda13..040c8ec 100644 --- a/app/Services/Admin/Master/RawMaterial/RawMaterialService.php +++ b/app/Services/Admin/Master/RawMaterial/RawMaterialService.php @@ -185,7 +185,6 @@ public function update(RawMaterial $rawMaterial, array $data): RawMaterial ]); } - $price->clearMediaCollection('images'); $price->delete(); } @@ -280,7 +279,6 @@ public function destroy(RawMaterial $rawMaterial): bool $result = DB::transaction(function () use ($rawMaterial) { $rawMaterial->rawMaterialPrices->each(function (RawMaterialPrice $price) { - $price->clearMediaCollection('images'); $price->delete(); });