/** * @Put("/{id}") * @Middleware("admin") * * Admin adds a food to the menu. * */ public function addFoodToMenu($id) { $foodId = \Input::get('food_id'); $menu = Menu::find($id); $menuFood = MenuFood::create(['food_id' => $foodId, 'menu_id' => $id]); $menus = Menu::with(['menuFoods', 'menuFoods.menu', 'menuFoods.food'])->where('week', $menu->week)->get(); return $menus; }
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); }