/** * Get meal recomendation for user. Returns the most eaten meal that doesn't * match any of last week meals (by default), or the least eaten dish if all match * @param $skipMeals Number of (last) meals to not repeat */ public function getRecommendation(User $user, $unrepeatdMeals = 14) { if (!is_int($unrepeatdMeals)) { throw new ErrorException("Argument {$unrepeatdMeals} must be of type integer."); } $meals = $this->getLastMeals($user); $lastMeals = array_slice($meals->toArray(), count($meals) - $unrepeatdMeals); if (count($lastMeals)) { $sortedMeals = $this->sortMeals($meals->toArray()); foreach ($sortedMeals as $dishId => $mealCount) { $exists = false; foreach ($lastMeals as $key => $lastDishId) { if ($dishId === (int) $lastDishId) { $exists = true; } } if ($exists === false) { return Dish::find($dishId); } } // If repeated, suggest the least eaten dish end($sortedMeals); return Dish::find(key($sortedMeals)); } else { return null; } }
/** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $data = $request->only('name', 'description', 'price'); try { $dish = Dish::find($id); $dish->update($data); return $dish; } catch (Exception $e) { return $e; } }
public function postUpdate(Request $request, $id) { $validator = Validator::make($request->all(), ['name' => 'required|min:3|max:255', 'calories' => 'digits_between:1,4']); if ($validator->fails()) { return redirect()->route('dish::update_get', ['id' => $id])->withErrors($validator)->withInput(); } else { $dish = Dish::find($id); $dish->name = $request->input('name'); $dish->calories = $request->input('calories', null); $dish->save(); $this->setFlashMessage('success', 'Dish updated.'); } return redirect()->route('dish::list'); }
public function updateDish(Request $request) { $name = \StringHelper::filterString($request->input('name')); $price = \StringHelper::filterString($request->input('price')); $description = \StringHelper::filterString($request->input('description')); $destinationPath = 'uploads/'; // upload path $dish_id = \StringHelper::filterString($request->input('dish_id')); if ($name != "" && $price != "") { $dish = Dish::find($dish_id); $dish->dish_name = $name; $dish->dish_price = $price; $dish->dish_description = $description; $dish->active = 1; } if (Input::file('image')) { $extension = Input::file('image')->getClientOriginalExtension(); // getting image extension $fileName = rand(11111, 99999) . '.' . $extension; // renameing image Input::file('image')->move($destinationPath, $fileName); // uploading file to given path $image = $destinationPath . $fileName; $dish->dish_image = $image; } $dish->save(); return Redirect::back()->with('message', 'Success'); }
/** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $dish = Dish::find($id); $dish->delete(); return redirect('dishes'); }