You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel批量插入报错:SQLSTATE[42S22]找不到updated_at列

问题描述

我编写了一个Laravel控制器函数,采用批量赋值方式向quizzes表插入新记录,但执行后出现如下错误:

"message": "SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field list' (Connection: mysql, SQL: insert into quizzes (title, isfree, updated_at, created_at) values (Menjaga Pola Makan, 1, 2024-01-13 06:20:07, 2024-01-13 06:20:07))",
"exception": "Illuminate\Database\QueryException",
"file": "D:\laravel\Quiz-Health-Education\vendor\laravel\framework\src\Illuminate\Database\Connection.php",
"line": 822

控制器代码

public function create(Request $request)
{
    $request->validate([
        'title'=>'required',
        'isfree'=>'required|boolean',
        'img'=>'string|nullable',
        'price'=>'nullable',
        'disc'=>'nullable'
    ]);

    if($request->isfree === false)
    {
        $request['price'] = null;
        $request['disc'] = null;
    }

    $request['created_at'] = $request->date('d-m-Y');

    Quiz::create($request->all());

    return response()->json(['status' => 'success']);
}
解决方案

这个错误的核心原因是:Laravel模型默认会自动维护created_at和updated_at两个时间戳字段,但你的quizzes数据库表中没有updated_at字段,导致插入SQL执行失败。

有两种解决方式:

方式一:给数据库表添加updated_at字段

如果业务需要记录数据更新时间,可以通过迁移添加该字段:

  1. 生成迁移文件:
    php artisan make:migration add_updated_at_to_quizzes_table --table=quizzes
    
  2. 打开生成的迁移文件,修改up和down方法:
    public function up()
    {
        Schema::table('quizzes', function (Blueprint $table) {
            $table->timestamp('updated_at')->nullable();
        });
    }
    
    public function down()
    {
        Schema::table('quizzes', function (Blueprint $table) {
            $table->dropColumn('updated_at');
        });
    }
    
  3. 执行迁移:
    php artisan migrate
    

方式二:关闭模型的自动时间戳功能

如果不需要自动维护这两个时间戳字段,直接在Quiz模型中添加一行代码即可:

class Quiz extends Model
{
    public $timestamps = false;
}

另外提个小建议:你手动给request['created_at']赋值的写法不够规范,若开启自动时间戳,Laravel会自动设置这两个字段的值,无需手动赋值。如果需要自定义时间格式,可以在模型中设置$dateFormat属性,或者用Carbon类处理日期。

内容的提问来源于stack exchange,提问作者Hello 123

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 13:04:56