leftJoin('t_maintenance_vhc_type as t', function ($join) { $join->whereRaw('FIND_IN_SET(t.id, h.idservice)'); }) ->select( 'h.*', DB::raw('GROUP_CONCAT(t.service_type SEPARATOR ", ") as service_names') ) ->where('h.vhc_id', $vehicleid) ->groupBy('h.id') ->get(); $apiResp = Responses::success("success list maintenance vehicles"); $apiResp["data"] = $data; return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } /** * API Update data history maintenance */ public function api_update_data_maintenance(Request $req, $vehicleid, $id) { try { $now = time(); $input = [ "idservice" => $req->idservice, "odometer" => $req->odometer, "dates" => $req->dates, "ismaintenance"=> $req->ismaintenance ]; $rulesInput = [ "idservice" => "required|string", "odometer" => "required|numeric", "dates" => "required|string", "ismaintenance" => "required|numeric" ]; // validasi input $isValidInput = Validator::make($input, $rulesInput); if (!$isValidInput->passes()) { $apiResp = Responses::bad_input($isValidInput->messages()->first()); return new Response($apiResp, $apiResp["meta"]["code"]); } DB::beginTransaction(); $update = [ "idservice" => $req->idservice, "vhc_id" => $vehicleid, "odometer" => $req->odometer, "dates" => $req->dates, "ismaintenance" => $req->ismaintenance, // "created_at" => date("Y-m-d H:i:s", $now), // "udt" => date("Y-m-d H:i:s", $now), // "created_by" => Auth::user()->id, // "uby" => Auth::user()->id ]; DB::table('t_vehicles_maintenance_history')->where('id', $id)->update($update); $apiResp = Responses::created("success update maintenance vehicles"); DB::commit(); $log = [ "module" => "Vehicle Type", "action" => "Create", "desc" => "Add new vehicle maintenance type: " . $req->service_type, ]; UserLogs::insert(Auth::user()->id, $log); return new Response($apiResp, $apiResp["meta"]["code"]); } catch (\Exception $e) { DB::rollBack(); $apiResp = Responses::error($e->getMessage()); return new Response($apiResp, $apiResp["meta"]["code"]); } } }