Bei der Ausführung der folgenden in Laravel Artisan Tinker:Carbon- Carbon :: now() wirft InvalidArgumentException mit Meldung 'Daten Nachgestellte'
$article = new App\Article;
$article->published_at = Carbon\Carbon::now();
ich diesen Fehler:
InvalidArgumentException with message 'Trailing data'
jedoch Carbon\Carbon::now()
auf seine eigene gibt eine Carbon
Instanz wie erwartet zurück.
published_at
sollte im Modell in protected $dates = ['published_at'];
zu Carbon Instanz mutiert werden und es ist auch in protected $fillable
enthalten.
Wer weiß, was hier vor sich geht oder wie ich es lösen kann?
EDIT: Das gleiche passiert, wenn in einem Verschluss in Strecken lief, also nicht spezifisch
EDIT: Tinker 2: Sieht aus wie andere erleben dies: https://laracasts.com/discuss/channels/general-discussion/carboncarbonnow-giving-error und zweimal in den Kommentaren für https://laracasts.com/series/laravel-5-fundamentals/episodes/8
EDIT 3: Ziemlich genau der gleiche Code wie das erste Beispiel wird in https://laracasts.com/series/laravel-5-fundamentals/episodes/15 um 15:10 ohne Fehler verwendet.
EDIT 4: Swap-Zeile 2 des obigen Codes zu $article->published_at = Carbon::now()->format('Y-m-d');
funktioniert gut und enthält sogar Zeit, wenn in der Datenbank gespeichert (obwohl nicht sicher, warum).
Ich würde vermuten, dass "trailing data" sich auf die volle datetime beziehen könnte, die zu lang ist, aber seltsam scheint, dass Laravel so viel mit Datumsterminen automatisch macht (automatische Konvertierung zu Carbon-Instanzen zum Beispiel), aber nicht das.
Verwendung in Edit 3 wäre jedoch vorzuziehen!
Sieht aus wie ein regulärer DateTime-Fehler, sollte jedoch nicht mit 'now()' Methode geschehen. Gibt es eine Chance, dass etwas mit deinen Zeitzoneneinstellungen nicht stimmt? Wie sieht die Zeitzonen-Konfiguration in 'config/app.php' aus? – kajetons
Zeitzone ist Standard: ''Zeitzone' => 'UTC',' –
Beim Durchsehen des Quellcodes sieht es so aus, als käme es nicht über diese Linie hinaus. 'New newtimeTimeZone (date_default_timezone_get());' während der Klassenkonstruktion. Wenn Sie das nirgends hinführt, bezweifle ich, dass Sie nichts anderes tun können, als die nativen Datumsfunktionen zu verwenden. – kajetons