Calcular la edad desde la fecha almacenada en la base de datos en Y-m-d usando Laravel 5.2
Hola usuario agrega su DOB a través del formulario que se almacena en la base de datos,
Me gustaría calcular la edad a partir de la fecha almacenada en la base de datos que está en este formato Y-m-d,
Mi pregunta es :
¿Cómo calcular la edad?
¿Dónde poner la lógica, en controlador o modelo?
Cómo pasar la Fecha almacenada a la vista en este formato 'm-d-Y'
Cómo pasar el resultado de la lógica que es la edad a la vista.
Estoy usando algo como a continuación en mi modelo, ¿es esto correcto?
Este es el controlador:
public function index() {
$profile = User::find($this->userid())->profiledetailsHasOne; //This has Dob field
return view('profile.index',['profile' => $profile ]);
}
Este es mi modelo:
public function getAge(){
$this->birthdate->diff($this->attributes['dob'])
->format('%y years, %m months and %d days');
}
Esta es mi opinión:
<tr>
<th>Age</th>
<td>{{$profile->getAge()}}</td>
</tr>
¿Es esto correcto? Recibo un error como el siguiente
Call to a member function diff() on null