Laravel ORM添加未定义的列

时间:2017-02-10 03:34:34

标签: php laravel

我试图在laravel的一个表格中创建一条新记录:

$reservation = Reservation::create([
        'user_id'   => $request->input('user'),
        'ticket_id' => $request->input('ticket'),
        'amount'    => $request->input('amount'),
        'date'      => Carbon::now() ]);

虽然我已经成功创建了这样的记录,但出于某种原因,每当我尝试创建它时,都会抛出以下QueryException错误:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'updated_at' in 'field list' (SQL: insert into {保留{1}}日期(的updated_at , {created_at {1}}

我的表预订表上没有任何 updated_at created_at 列,我的模型上也没有。

为什么会这样?提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您没有updated_atcreated_at覆盖您的模型中的此属性Reservation.php

public $timestamps=false;

这是来自doc:

  

默认情况下,Eloquent将维护created_at和updated_at   数据库表上的列自动生成。只需添加这些   时间戳列到你的表和Eloquent将照顾   其余部分。

来自Vendor \ laravel \ framework \ src \ illuminate \ Datebase \ Eloquent \ Model.php中的方法setCreatedAt($value)setUpdatedAt($value)的属性。