Laravel 的模型 toArray () 出错求解?????

2017-08-04 01:13:26 +08:00
 wending
Laravel5.4
模型已经继承自 model
然后
$datas = Access_token::all()->toJson();
会提示一下错误:
Type error: Argument 1 passed to Illuminate\Database\Eloquent\Model::serializeDate() must implement interface DateTimeInterface, integer given, called in D:\phpStudy\WWW\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\HasAttributes.php on line 122

百度谷歌无解,请教各位。
4223 次点击
所在节点    程序员
8 条回复
g8287694
2017-08-04 01:17:30 +08:00
看下取出来的到底是数组还是 json
pqee
2017-08-04 01:32:31 +08:00
目测某时间字段在数据库里用的是 int,但是 Eloquent 将其识别为了时间,尝试格式化他,结果出错。是不是自定义了 created_at 和 updated_at 的类型?必须要用 timestamp 或者 datetime。
wending
2017-08-04 01:39:02 +08:00
@pqee 是的是的,那怎么解决,他那种格式效率不高啊。
@g8287694 时,集合,没问题,可能就是改了自动维护时间戳的数据类型。
wending
2017-08-04 01:47:55 +08:00
@pqee 删除 crea 等就行了,但是还是想自己格式化时间戳,不懂有什么解决办法,非常感谢,这个问题又让我熬了一夜。
pqee
2017-08-04 01:55:20 +08:00
设置 model 属性,$timestamp = false
lawmil
2017-08-04 13:25:37 +08:00
protected $dateFormat = 'U'; 试试这个
wending
2017-08-04 23:45:31 +08:00
wending
2017-08-07 21:17:09 +08:00
@pqee 除了更改数据库类型还有其他什么办法吗,网上说好像定义函数就可以,一直没能解决。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/380294

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX