/** * Get Upcoming Tasks for given Trade */ public function getUpcomingTasks(Request $request, $date) { $trade_list = Auth::user()->company->tradeList->pluck('id')->toArray(); $tasks = Task::whereIn('trade_id', $trade_list)->where('upcoming', '1')->where('status', '1')->orderBy('name')->get(); // Upcoming Task Categories $task_cats = []; $task_list = []; foreach ($tasks as $task) { $array = []; $array['id'] = $task->id; $array['name'] = $task->name; $array['code'] = $task->code; $array['trade_id'] = $task->trade_id; $task_cats[] = $array; $task_list[] = $task->id; } // Upcoming Task items $date_from = Carbon::createFromFormat('Y-m-d H:i:s', $date . ' 00:00:00'); $date_to = Carbon::createFromFormat('Y-m-d H:i:s', $date . ' 00:00:00'); $date_from->addDays(7); $date_to->addDays(49); $planner = SitePlanner::select(['id', 'site_id', 'entity_type', 'entity_id', 'task_id', 'from', 'to', 'days'])->where('from', '>=', $date_from->format('Y-m-d'))->where('from', '<=', $date_to->format('Y-m-d'))->whereIn('task_id', $task_list)->orderBy('entity_type', 'desc')->orderBy('from')->get(); $task_plan = []; foreach ($planner as $plan) { $task_plan[] = $this->getPlanData($plan); } $json = []; $json[] = $task_cats; $json[] = $task_plan; return $json; }