Ich habe ein Modell Review
, das einen Unix-Zeitstempel als 1 seiner Attribute (Tabellenkolumnen) hat.Warum erscheint mein Laravel Eloquent Accessor nicht in der Antwort?
Ich benutze 2 accessors in diesem Modell:
public function getReviewDateAttribute($value)
{
return strftime('%A %e %B %Y', $value);
}
public function getReviewDateIsoAttribute()
{
return Carbon::createFromTimestamp($this->review_date)->toDateTimeString();
}
getReviewDateAttribute
funktioniert wie erwartet und zeigt sich in der Sammlung von Modellen, wenn ich eine Abfrage schreiben.
Allerdings nicht getReviewDateIsoAttribute
nicht. Was könnte der Grund dafür sein? Eine Teilfrage: Wenn ich das gleiche Attribut in beiden Funktionen verwende, wie kann ich das ursprüngliche Format als Eingabewert verwenden?
Ich verstehe, was Sie versuchen zu sagen, aber Laravel 'Accessoren' sind" magische "Funktionen, die Attribute im laufenden Betrieb erstellen, daher sollte dies noch funktionieren. Bitte werfen Sie einen Blick auf das 'getFullNameAttribute' Beispiel der Dokumentation. –
Es könnte auch etwas mit der Art und Weise zu tun, wie Ihre Abfrage Strukturen ist, hier ist ein Link zu einem Problem wie das https://laracasts.com/discuss/channels/laravel/custom-accessor-not-working-anymore – carrion