public function getValido(Request $request, $socio_numero, $plan_id) { if ($request->ajax()) { /* Traigo el id del socio cuyo numero coincida con el valor ingresado */ $socio = socio::where('numero', $socio_numero)->get()->toArray(); $socio_id = $socio[0]['id']; /* Traigo del plan el precio segun el plan elegido */ $plan = Plan::where('id', $plan_id)->get()->toArray(); $precio = $plan[0]['precio']; /* Traigo del pago la fecha del último pago para calcular la deuda según el plan elegido y socio elegido*/ $pago = Pago::where('socios_id', $socio_id)->where('planes_id', $plan_id)->orderBy('fecha', 'DESC')->first(); if (!empty($pago)) { $fecha_pago = $pago->fecha; /* Calculo la fecha de hoy */ $fecha_hoy = date('d-m-Y'); /* Convierto las fechas para poder usar diff */ $fechai = new DateTime($fecha_pago); $fechaf = new DateTime($fecha_hoy); $diferencia = $fechaf->diff($fechai); /* Calculo la diferencia de meses dentro del mismo año */ $diferencia_meses = $diferencia->format("%m"); /* Calculo la diferencia de años y la multiplicamos por 12 para tener los meses */ $diferencia_anios = $diferencia->format("%y") * 12; $meses_total = $diferencia_meses + $diferencia_anios; } else { $meses_total = 1; } $respuesta = array($meses_total, $precio); return response()->json($respuesta); } }