• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wending
V2EX  ›  程序员

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

  •  
  •   wending · Aug 4, 2017 · 4748 views
    This topic created in 3224 days ago, the information mentioned may be changed or developed.
    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

    百度谷歌无解,请教各位。
    8 replies    2017-08-07 21:17:09 +08:00
    g8287694
        1
    g8287694  
       Aug 4, 2017
    看下取出来的到底是数组还是 json
    pqee
        2
    pqee  
       Aug 4, 2017
    目测某时间字段在数据库里用的是 int,但是 Eloquent 将其识别为了时间,尝试格式化他,结果出错。是不是自定义了 created_at 和 updated_at 的类型?必须要用 timestamp 或者 datetime。
    wending
        3
    wending  
    OP
       Aug 4, 2017 via iPhone
    @pqee 是的是的,那怎么解决,他那种格式效率不高啊。
    @g8287694 时,集合,没问题,可能就是改了自动维护时间戳的数据类型。
    wending
        4
    wending  
    OP
       Aug 4, 2017
    @pqee 删除 crea 等就行了,但是还是想自己格式化时间戳,不懂有什么解决办法,非常感谢,这个问题又让我熬了一夜。
    pqee
        5
    pqee  
       Aug 4, 2017 via Android
    设置 model 属性,$timestamp = false
    lawmil
        6
    lawmil  
       Aug 4, 2017
    protected $dateFormat = 'U'; 试试这个
    wending
        7
    wending  
    OP
       Aug 4, 2017
    wending
        8
    wending  
    OP
       Aug 7, 2017
    @pqee 除了更改数据库类型还有其他什么办法吗,网上说好像定义函数就可以,一直没能解决。。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3341 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 12:52 · PVG 20:52 · LAX 05:52 · JFK 08:52
    ♥ Do have faith in what you're doing.