Ich arbeite an einem Backend mit Eloquent Models. Um einen Standardmodus für die Ausgabe von Datumsangaben festzulegen, suche ich nach einer Möglichkeit, dem Eloquent Model mitzuteilen, seine Datumsattribute als lange Zeit (Unix-Timestamp) auszugeben.Force Eloquent Models geben alle Zeitstempel so lange aus
$user = User:find(id);
echo $user->toJson();
// die aktuelle Ausgabe
{
"id":1,
"username":"root",
"created_at":"2016-12-25 18:23:34",
"updated_at":"2016-12-25 18:23:34"
}
// die gewünschte Ausgabe
{
"id":1,
"username":"root",
"created_at":1482690214,
"updated_at":1482690214
}
Gibt es eine saubere Art und Weise die outputing toJson() oder jede andere Art und Weise außer Kraft zu setzen, dies zu erreichen ?
bearbeiten
Haben Sie etwas, dass es eine gute Idee, den Zauber __get außer Kraft zu setzen()? Oder benutzt Eloquent einen anderen Weg, um auf das Attribut zuzugreifen, wenn es nachJson ruft?
InvalidArgumentException: Nachgestellte Daten in ... \ Anbieter \ nesbot \ Carbon \ src \ Carbon \ Carbon.php auf Linie 425 –
Ich habe diese Ausnahme, wenn Sie Ihre Lösung Sir versuchen. Was habe ich falsch gemacht? –
@KarimKharba versuchen, die Migration so zu ändern, dass "Integer" anstelle von "Zeitstempel" verwendet wird, wie in dieser [Antwort] (http://stackoverflow.com/questions/35915576/laravel-timestamp-saving-time-as-unix-timestamp)/35915610 # 35915610). –