feat: update variant and price deletion logic to preserve media collections in ProductService and RawMaterialService
This commit is contained in:
parent
50ece97933
commit
8ea9378c78
@ -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();
|
||||
});
|
||||
|
||||
|
||||
@ -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();
|
||||
});
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user