public function store(Request $request) { $recipe = new Recipe(); $recipe->fill($request->all()); $recipe->user_id = Auth::user()->id; $recipe->save(); $recipe->recipeBooks()->attach($request->get('recipe_id')); return $recipe; }
private function saveRecipe(Recipe $recipe) { $input = Input::only('title', 'people', 'presentation', 'year', 'season', 'cookbook', 'category', 'temperature', 'visibility', 'tracking_nr'); $recipe->fill($input); if (empty($recipe->tracking_nr)) { $recipe->tracking_nr = $this->db->table('recipes')->max('tracking_nr') + 1; } if (Input::has('lang')) { $recipe->language = Input::get('lang'); } if (Input::has('directions')) { $recipe->description = Input::get('directions'); } // Override the category if the user provided one. if (!empty(Input::get('category_alt'))) { $recipe->category = Input::get('category_alt'); } try { $recipe_saved = $recipe->save(); } catch (QueryException $e) { $recipe->tracking_nr = $this->db->table('recipes')->max('tracking_nr') + 1; $recipe_saved = $recipe->save(); Session::flash('warning', 'Let op: je recept is onder een nieuw volgnummer bewaard, omdat het opgegeven nummer al in gebruik was.'); } if (RequestFacade::hasFile('picture')) { $path = join(DIRECTORY_SEPARATOR, [public_path(), 'uploads', 'pictures']); $filename = $recipe->tracking_nr . '.jpg'; $file = RequestFacade::file('picture')->move($path, $filename); $image = Image::make($file)->widen(480); $image->save($path . DIRECTORY_SEPARATOR . $filename); } $ingredients_saved = $recipe->saveIngredientsFromText(Input::get('ingredients')); if ($recipe_saved && $ingredients_saved) { return redirect()->route('recipes.show', ['recipes' => $recipe->tracking_nr])->with('lang', $recipe->language); } else { abort(500); } }