feat: update variant and price deletion logic to preserve media collections in ProductService and RawMaterialService

This commit is contained in:
Yoga Pangestu 2026-08-16 15:17:32 +07:00
parent 50ece97933
commit 8ea9378c78
2 changed files with 1 additions and 4 deletions

View File

@ -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();
});

View File

@ -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();
});