/** * @Post("/create") * @Middleware("user") * * User creates his order for a specific day * */ public function createOrder() { $userId = \Input::get('user_id'); $menuFoodId = \Input::get('menu_food_id'); $user = User::findOrFail($userId); $menuFood = MenuFood::findOrFail($menuFoodId); $user->eatenFood()->attach($menuFood); return $user->eatenFoodForWeek($menuFood->menu->week); }
public static function createMenusForWeek($week) { $now = Carbon::now('Europe/Belgrade')->toDateTimeString(); $weekMon = Carbon::createFromTimeStamp((int) $week); $weekDays = ['mon' => $weekMon, 'tue' => $weekMon->copy()->addDays(1), 'wed' => $weekMon->copy()->addDays(2), 'thu' => $weekMon->copy()->addDays(3), 'fri' => $weekMon->copy()->addDays(4)]; $defaultFoods = Food::where('default', true)->get(); $newMenus = []; foreach ($weekDays as $dayAbbr => $day) { $newMenu = Menu::create(['date' => $day, 'week' => $week, 'published' => false, 'created_at' => $now, 'updated_at' => $now]); foreach ($defaultFoods as $defaultFood) { MenuFood::create(['food_id' => $defaultFood->id, 'menu_id' => $newMenu->id]); } $newMenus[] = $newMenu->id; } return self::with(['menuFoods', 'menuFoods.menu', 'menuFoods.food'])->find($newMenus); }
/** * @Delete("/food/{id}") * @Middleware("admin") * * Admin removes menuFood from the menu. * * @param $id - id of the MenuFood to remove */ public function removeMenuFood($id) { $menuFood = MenuFood::findOrFail($id); $week = $menuFood->menu->week; $menuFood->delete(); $menus = Menu::with(['menuFoods', 'menuFoods.menu', 'menuFoods.food'])->where('week', $week)->get(); return $menus; }