Ich verwende Laravel 5.1Convert String Carbon
Vor wenigen Tagen habe ich protected $dates = ['license_expire']
in meinem Modell die Zeichenfolge Datum Carbon Instanzen zu konvertieren. In HTML erstellen der Standardwert in Form für das Datum Carbon\Carbon::now()->format('Y-m-d')
war
Um Alarm in Homepage anzuzeigen verwendet i <p>Licence Expired: <b>{{ $employee->license_expire < Carbon\Carbon::now()?'License has expired':$employee->license_expire->diffForHumans() }}</b></p>
Bis dahin diffForHumans() Methode funktioniert gut.
Aber in diesem Fall war der Standardwert des Bearbeitungsformulars auch das heutige Datum, egal was in der Datenbank war (ich benutze ein Teilformular). Um es zu lösen, ändere ich den Standardwert in HTML war NULL. Und fügen Sie eine andere Methode in meinem Modell hinzu, um das aktuelle Datum in create form anzuzeigen.
public function getLicenseExpireAttribute($date)
{
return Carbon::parse($date)->format('Y-m-d');
}
Danach, wenn ich zur Homepage gehen habe ich ein FatalErrorException
die sagt Call to a member function diffForHumans() on string
Als ich das Datum mit dd($employee->license_expire)
überprüfen es STRING wieder werden.
Kann mir jemand sagen, wie kann ich die Zeichenfolge in dieser Situation zu Carbon konvertieren?
oder
Make my Form des Standarddatum als das heutige Datum erstellen, das Datum des Bearbeitungsformular aus Datenbank und ich kann diffForHumans() verwenden, Alarm in Startseite zu zeigen?
ja! es half. Ich habe genau das getan, was du gesagt hast. es funktioniert perfekt, wie ich es wünsche. – smartrahat