Stack Overflow en español Asked on December 5, 2021
Tengo una tabla en la cual tengo dos campos llamados created_at y updated_at en una tabla llamada processes, lo que quiero hacer es comparar cuantos dias hay entre esos dos campos
Estoy utilizando laravel 6
controlador
$processes = Process::findOrFail(Crypt::decrypt(base64_decode($id)));
return view('clientes.show', compact('processes', 'histories', 'diligences', 'services', 'iva', 'dias'));
Consulta
SELECT TIMESTAMPDIFF(DAY,created_at, updated_at) AS days FROM processes
WHERE id = 1
ya pude, puse esto en mi modelo y lo llamo en la vista blade
public function dias(){
$fecha1 = date_create($this->created_at);
$fecha2 = date_create($this->canceled_at);
$dias = date_diff($fecha1, $fecha2)->format('%R%a');
return $dias;
}
blade
{{ $processes->dias() + 0 }}
Answered by Luis on December 5, 2021
Puedes usar el método diffInDays
que ya provee Carbon en Laravel.
Deberías:
Ejemplo
$fechaAntigua = Modelo::first()->created_at;
$fechaReciente = Modelo::first()->updated_at;
$cantidadDias = $fechaAntigua->diffInDays($fechaReciente);
EDICIÓN
Agrego un ejemplo de uso del método diffInDays()
desde Tinker
>>> $fechaAntigua = AppUser::first()->created_at;
=> IlluminateSupportCarbon @989686800 {#3113
date: 2020-05-01 18:37:21.0 America/Mexico_City (-05:00),
timezone: "America/Mexico_City",
}
>>> $fechaNueva = AppUser::first()->updated_at;
=> IlluminateSupportCarbon @1589413041 {#3127
date: 2020-05-13 18:37:21.0 America/Mexico_City (-05:00),
timezone: "America/Mexico_City",
}
>>> $fechaAntigua->diffInDays($fechaNueva);
=> 12
Referencia
Answered by BetaM on December 5, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP