“ SQLSTATE [22007]:无效的日期时间格式:1292错误的日期时间值:第1行“ created_at”列的“ 2018”(SQL:插入到“ news”中

时间:2018-09-27 13:35:19

标签: php mysql sql laravel

所以,我当前遇到此错误,问题是当我想创建新记录时会发生此错误,但是当我什么都没有更新时,我的数据库是MySql并将其设置为utf8,我有一个本地和当前已部署的一个,我正在部署的有utf8,但本地有utf8mb4。我看过其他与我类似的问题,但我认为它们没有相同的解决方案。

  

SQLSTATE [22007]:无效的日期时间格式:1292错误的日期时间   值:第1行“ created_at”列的“ 2018”(SQL:插入   newstitledescriptiondatepicturescategroy_id,   updated_atcreated_at)值(zxczx,

xzxczxc

,2018年9月28日,   [“ 3_1538054794.jpg”,6,2018-09-27 13:26:34,2018-09-27 13:26:34))

这就是我保存它的方式

    $new = new News;

    $new->title = $input['title'];
    $new->description = $input['description'];
    $new->date = $input['date'];
    $new->pictures = json_encode($pics);
    $new->categroy_id = $input['category'];
    $new->save();

2 个答案:

答案 0 :(得分:0)

您使用Carbon解析日期,它将日期转换为MySql YYYY-m-dd使用的日期格式

$new = new News;
$new->title = $input['title'];
$new->description = $input['description'];
$new->created_at = Carbon::now();
$new->pictures = json_encode($pics);
$new->categroy_id = $input['category'];
$new->save();

答案 1 :(得分:0)

尝试这样:

$new = new News;
$new->title = $input['title'];
$new->description = $input['description'];
$new->pictures = json_encode($pics);
$new->date = $input['date'];
$new->categroy_id = $input['category'];
$new->created_at = new \DateTime();
$new->save();