From 4856ed4b70ca36c1c1b97cf3f7eb9dc656e78611 Mon Sep 17 00:00:00 2001 From: "Christopher C. Wells" Date: Fri, 19 Feb 2021 05:53:53 -0800 Subject: [PATCH] Deleted related ingredient amounts on food delete --- app/Http/Controllers/FoodController.php | 5 ++-- resources/views/foods/delete.blade.php | 36 ++++++++++++++++++------- 2 files changed, 30 insertions(+), 11 deletions(-) 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