diff --git a/app/Http/Controllers/RecipeController.php b/app/Http/Controllers/RecipeController.php index 6506dc8..37ec01b 100644 --- a/app/Http/Controllers/RecipeController.php +++ b/app/Http/Controllers/RecipeController.php @@ -180,16 +180,9 @@ class RecipeController extends Controller 'servings' => (int) $input['servings'], ]); - // Sync tags. - if ($tags = $request->get('tags')) { - $recipe->syncTags(explode(',', $tags)); - } - try { DB::transaction(function () use ($recipe, $input) { - if (!$recipe->save()) { - return; - } + $recipe->saveOrFail(); // Delete any removed ingredients. $removed = array_diff($recipe->ingredientAmounts->keys()->all(), $input['ingredients']['original_key']); @@ -243,6 +236,11 @@ class RecipeController extends Controller return back()->withInput()->withErrors($e->getMessage()); } + // Sync tags. + if ($tags = $request->get('tags')) { + $recipe->syncTags(explode(',', $tags)); + } + session()->flash('message', "Recipe {$recipe->name} updated!"); return redirect()->route('recipes.show', $recipe); }