supervisorCartableReport($request); foreach ($data['data'] as $road_patrol) { if (Gate::allows('gate-supervise-road-item', $road_patrol)) { $road_patrol['can_supervise'] = 1; } else { $road_patrol['can_supervise'] = 0; } } return response()->json($data); } public function getReport(RoadPatrol $roadPatrol): JsonResponse { $data = [ 'serial_no' => $roadPatrol->id, 'province_fa' => $roadPatrol->province_fa, 'edare_name' => $roadPatrol->edare_name, 'start_time' => $roadPatrol->start_time, 'end_time' => $roadPatrol->end_time, 'officer_name' => $roadPatrol->officer_name, 'officer_plaque' => $roadPatrol->officer_plaque, 'officer_phone_number' => $roadPatrol->officer_phone_number, 'created_at' => $roadPatrol->created_at ]; $observed_items = array(); if($roadPatrol->observedItems) { foreach ($roadPatrol->observedItems as $index => $observed_item) { $observed_items[] = [ 'item' => $observed_item->item_name, 'sub_item' => $observed_item->sub_item_name, 'local_name' => $observed_item->local_name, 'description' => $observed_item->description, 'priority_fa' => $observed_item->priority_fa, ]; } } $data['observed_items'] = $observed_items; return $this->successResponse($data); } public function show(RoadPatrol $roadPatrol): JsonResponse { return $this->successResponse($roadPatrol); } }