コード例 #1
0
 /**
  * @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;
 }
コード例 #2
0
ファイル: Menu.php プロジェクト: petarslovic/web-hungry
 public static function getCateringEmailData($week)
 {
     $users = \Hungry\Models\User::get();
     $allEatenFoodWeek = $users->map(function ($user) use($week) {
         return $user->eatenFoodForWeek($week);
     })->collapse();
     $allEatenFoodWeek = $allEatenFoodWeek->sortBy(function ($menuFood) {
         return $menuFood['menu']['date'];
     });
     $menuFoodsByDate = $allEatenFoodWeek->groupBy(function ($menuFood) {
         if (isset($menuFood->menu)) {
             return $menuFood->menu->date->format('d.m.Y');
         } else {
             return Menu::find($menuFood['menu']['id'])->date->format('d.m.Y');
         }
     });
     // Group by food name
     $menuFoodsByDate = $menuFoodsByDate->map(function ($menuFoods) {
         return $menuFoods->groupBy(function ($mf) {
             if (isset($mf->food)) {
                 return $mf->food->description;
             } else {
                 return $mf['food']['description'];
             }
         });
     });
     // Calculate counts for each food
     $menuFoodsByDate = $menuFoodsByDate->map(function ($differentMenuFoods) {
         return $differentMenuFoods->map(function ($menuFoods) {
             return $menuFoods->count();
         })->sortByDesc(function ($count) {
             return $count;
         });
     });
     // dd($menuFoodsByDate);
     return $menuFoodsByDate;
 }