Calcular idade a partir da data armazenada no banco de dados em Y-m-d usando o Laravel 5.2
Oi Usuário adicionar seu DOB através do formulário que armazenam no banco de dados,
Gostaria de calcular a idade a partir da data armazenada no banco de dados que está neste formato Y-m-d,
Minha pergunta é :
Como calcular a idade?
Onde colocar a lógica, no controlador ou no modelo?
Como passar a Data armazenada em exibição neste formato 'm-d-Y'
Como passar o resultado da lógica que é a idade em vista.
Estou usando algo como abaixo no meu modelo, está certo?
Este é o controlador:
public function index() {
$profile = User::find($this->userid())->profiledetailsHasOne; //This has Dob field
return view('profile.index',['profile' => $profile ]);
}
Este é o meu modelo:
public function getAge(){
$this->birthdate->diff($this->attributes['dob'])
->format('%y years, %m months and %d days');
}
Esta é a minha visão:
<tr>
<th>Age</th>
<td>{{$profile->getAge()}}</td>
</tr>
Isto está certo? Estou recebendo erro como abaixo
Call to a member function diff() on null