我收到 Laravel 错误“消息”:“SQLSTATE[42S22]:找不到列:1054“字段列表”中的未知列“updated_at”

问题描述 投票:0回答:1

我创建了一个控制器函数来在测验表上插入新记录。为此,我使用了 Laravel 批量分配,之后我收到了此错误消息。

"message": "SQLSTATE[42S22]: 未找到列: 1054 未知列 “字段列表”中的“updated_at”(连接:mysql,SQL:插入

quizzes
title
isfree
updated_at
created_at
)值 (Menjaga Pola Makan, 1, 2024-01-13 06:20:07, 2024-01-13 06:20:07))", "exception": "照亮\数据库\QueryException", "文件": "D:\laravel\Quiz-Health-Education endor\laravel ramework\src\Illuminate\Database\Connection.php", “线路”: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 eloquent mass-assignment
1个回答
0
投票

错误消息表明 Laravel 正在尝试更新

updated_at
表中的
quizzes
列,但找不到该列。 Laravel 期望表中存在
created_at
updated_at
列。如果您的
quizzes
表没有
updated_at
列,并且您不想添加一列,则可以在
Quiz
模型中禁用时间戳功能。

class Quiz extends Model
{
    public $timestamps = false;

    // ...
}
© www.soinside.com 2019 - 2024. All rights reserved.