Calculate Age from date in der Datenbank in Y-m-d mit Laravel 5.2 gespeichert

Hi Benutzer fügen ihr DOB über das Formular hinzu, das in der Datenbank gespeichert ist,

Ich möchte das Alter anhand des in der Datenbank gespeicherten Datums in diesem Format berechnen. Y-m-d,

Meine Frage ist

Wie berechne ich das Alter?

Wo soll die Logik in Controller oder Modell abgelegt werden?

Wie wird das gespeicherte Datum in der Ansicht in diesem Format übergeben? 'M-d-Y'

Wie wird das Ergebnis einer Logik übergeben, die das Alter im Blick hat?

Ich verwende etwas wie unten in meinem Modell. Stimmt das?

Dies ist Controller:

public function index()   {   
    $profile   = User::find($this->userid())->profiledetailsHasOne;  //This has Dob field                   
    return view('profile.index',['profile' => $profile ]); 
}

Das ist mein Model:

public function getAge(){
    $this->birthdate->diff($this->attributes['dob'])
    ->format('%y years, %m months and %d days');
}

Das ist meine Ansicht:

<tr>
    <th>Age</th>
    <td>{{$profile->getAge()}}</td>
</tr>

Ist das richtig? Ich erhalte folgende Fehlermeldung:

Call to a member function diff() on null

Antworten auf die Frage(10)

Ihre Antwort auf die Frage