当模型保存或更新时,Laravel出现尾随数据异常

5

我在Laravel 5.6中更新模型数据时遇到了问题,经过多次尝试后发现问题实际上出在created_at和updated_at上。 我的代码:

$editStuState = StuAtt::where('studentId' , '=' , 1007)->first();
dd($editStuState -> created_at);

并且 dd($editStuState)

StuAtt {#382 ▼
  #table: "stu_attendance"
  #connection: "mysql"
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: true
  +wasRecentlyCreated: false
  #attributes: array:7 [▼
    "id" => "3"
    "studentId" => "1007"
    "present" => "7"
    "absent" => "2"
    "leave" => "6"
    "created_at" => "2018-04-19 07:01:19.929554"
    "updated_at" => "2018-04-19 02:31:19.000000"
  ]
  #original: array:7 [▼
    "id" => "3"
    "studentId" => "1007"
    "present" => "7"
    "absent" => "2"
    "leave" => "6"
    "created_at" => "2018-04-19 07:01:19.929554"
    "updated_at" => "2018-04-19 02:31:19.000000"
  ]
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #hidden: []
  #visible: []
  #fillable: []
  #guarded: array:1 [▶]
}

当我打印created_at字段时出现的错误:

InvalidArgumentException
Trailing data

哪里出了错,怎么修复?


1
我在模型中使用了public $timestamps = false;,但这并不是真正的解决方案。 - Nasser Ali Karimi
你能提供完整的异常信息吗? - Quezler
@Quezler 61 无效参数异常 …/vendor/nesbot/carbon/src/Carbon/Carbon.php603 - Nasser Ali Karimi
嗯,试试这个 - Quezler
@Quezler 感谢您的时间,这是真的。 - Nasser Ali Karimi
显示剩余3条评论
1个回答

13

尾随数据是Carbon错误,这是因为您可能使用PostgreSQL,且数据库的日期返回毫秒。

"created_at" => "2018-04-19 07:01:19.929554"

您可以将以下方法添加到您的(基础)模型中。

    // ...

    public function getDateFormat()
    {
         return 'Y-m-d H:i:s.u';
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接