route('all_project'); $hierarchy = $request->route('hierarchy'); $query = Project::query() ->select("id", "nama", "kode_sortname", "pm_id", "budget_health", "calculation_status", "mulai_proyek", "akhir_proyek", "rencana_biaya", "company", "scurve"); if (!$all_project) { $query->where('created_by_id', $hierarchy); } $projectData = $query->get(); $arr = []; foreach ($projectData as $project) { $projectRisk = ProjectRisks::query() ->select('proyek_id', 'description', 'level_risk', 'preventive_risk') ->where('proyek_id', $project['id']) ->get() ->toArray(); $projectIssue = ProjectIssues::query() ->select('proyek_id', 'description', 'level_issue') ->where('proyek_id', $project['id']) ->get() ->toArray(); $ganttData = VersionGantt::query() ->select('id', 'name_version', 'hierarchy_ftth_id', 'cost_to_complete', 'proyek_id', 'calculation_type') ->where('proyek_id', $project['id']) ->orderByDesc('id') ->first(); $projectManager = User::where('id', $project['pm_id'])->value('name'); $arr[] = [ "project" => [ "id" => $project['id'], "pm_id" => $project['pm_id'], "nama" => $project['nama'], "kode_sortname" => $project['kode_sortname'], "budget_health" => $project['budget_health'], "calculation_status" => $project['calculation_status'], "mulai_proyek" => $project['mulai_proyek'], "akhir_proyek" => $project['akhir_proyek'], "rencana_biaya" => $project['rencana_biaya'], "company" => $project['company'], "scurve" => $project['scurve'], ], "project_manager" => $projectManager, "project_risk" => $projectRisk, "project_issue" => $projectIssue, "gantt" => $ganttData ]; } return response()->json(['status' => 'success', 'code' => 200, 'data' => $arr, "total_project" => count($arr)], 200); } }