diff --git a/app/Http/Controllers/FoodController.php b/app/Http/Controllers/FoodController.php index 078326a..b5010d0 100644 --- a/app/Http/Controllers/FoodController.php +++ b/app/Http/Controllers/FoodController.php @@ -125,8 +125,9 @@ class FoodController extends Controller */ public function destroy(Food $food): RedirectResponse { - if (!empty($food->ingredientAmountRelationships)) { - return back()->withErrors('Cannot delete: this food is used in recipes.'); + // Remove the food from any recipes. + foreach ($food->ingredientAmountRelationships as $ia) { + $ia->delete(); } $food->delete(); return redirect(route('foods.index')) diff --git a/resources/views/foods/delete.blade.php b/resources/views/foods/delete.blade.php index 72d2001..4838984 100644 --- a/resources/views/foods/delete.blade.php +++ b/resources/views/foods/delete.blade.php @@ -12,26 +12,44 @@
@method('delete') @csrf -
- Are you sure what to delete {{ $food->name }}? -
-
- Detail: - {{ $food->detail }} -
+
+
Are you sure what to delete {{ $food->name }}?
+
+ @if($food->detail) +
+ Detail: + {{ $food->detail }} +
+ @endif @if($food->brand)
Brand: {{ $food->brand }}
@endif + @if(!$food->ingredientAmountRelationships->isEmpty()) +
+
+ + + +
+
Deleting this food will also remove it from the following recipes:
+
+ + @endif
Yes, delete - No, do not delete + + No, do not delete