public function editarOcupacion(Request $request) { $hab = habitacionesPerfil::select('id')->where('codigo', $request['codigo'])->first(); $disp = new disponibilidad(); $disponibilidad = new disponibilidad(); $fecha_inicio = Carbon::parse($request['fecha_inicio']); $fecha_fin = Carbon::parse($request['fecha_fin']); $validez = $disp->validarFechas($fecha_inicio, $fecha_fin, $hab->id, $request['id']); if (!$validez) { $response = ['message' => "Fechas solapadas con otra ocupación", 'type' => 'danger', 'status' => 608]; $statusCode = 400; return Response::json($response, $statusCode); } else { try { // Pasando las fechas al formato correcto YYYY-MM-DD 00:00:00 $arrayUpdate = ['fecha_inicio' => $fecha_inicio->toDateTimeString(), 'fecha_fin' => $fecha_fin->toDateTimeString()]; $disponibilidad = disponibilidad::where('id', $request['id'])->update($arrayUpdate); if ($disponibilidad) { $message = 'Ocupación actualizada con éxito.'; $statusCode = 200; } else { $message = 'Error al editar'; $statusCode = 400; } $response = ['message' => $message, 'type' => 'success']; } catch (Exception $e) { $response = ["error" => $e->getMessage()]; $statusCode = 400; } finally { return Response::json($response, $statusCode); } } }