Ric*_*nks 7 laravel php-carbon laravel-5 artisan
在Laravel Artisan Tinker中运行以下内容时:
$article = new App\Article;
$article->published_at = Carbon\Carbon::now();
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
InvalidArgumentException with message 'Trailing data'
Run Code Online (Sandbox Code Playgroud)
但是,Carbon\Carbon::now()它自己返回一个Carbon预期的实例.
published_at应该通过protected $dates = ['published_at'];模型变为Carbon实例,它也包括在内protected $fillable.
任何人都知道这里发生了什么或我如何解决?
编辑:在路径中的闭包中运行时会发生同样的事情,因此并不特定于Tinker
编辑2:看起来其他人正在经历这个:https://laracasts.com/discuss/channels/general-discussion/carboncarbonnow-giving-error和两次评论https://laracasts.com/series/laravel-5-基本面/次/ 8
编辑3:与第一个示例完全相同的代码在15:10 在https://laracasts.com/series/laravel-5-fundamentals/episodes/15中使用,没有错误.
编辑4:交换上面代码的第2行$article->published_at = Carbon::now()->format('Y-m-d');工作正常,甚至包括存储在数据库中的时间(虽然不知道为什么).
我猜测"尾随数据"可能指的是完整的日期时间太长,但看起来很奇怪,Laravel会自动执行日期时间(例如,自动转换为Carbon实例),但不是这样.
编辑3中的用法会更好!
Ron*_*Sir -1
只需删除这个功能:
public function setPublishedAtAttribute($date){
$this->attributes['published_at']=Carbon::createFromFormat('Y-m-d',$date);
}
Run Code Online (Sandbox Code Playgroud)
因为已经修复了published_at字段的格式......