我试图将数据插入一个表,我的表有三列,id-auto increment,phoneno,login_date . 我正在尝试下面的代码 .
$input = Request::has('phoneno');
$login_history = new LoginHistory;
$login_history->phoneno=$input;
$login_history->login_date=date('Y-m-d H:i:s');
$login_history->save();
但我得到以下错误 .
SQLSTATE [42S22]:找不到列:1054未知列'updated_at' in 'field list'(SQL:插入 login_history
( phoneno
, login_date
, updated_at
, created_at
)值(1,2015-12-14 08:55:25,2015-12-12) 08:55:25,2015-12-14 08:55:25))
3 回答
您的表中没有 created_at 和 updated_at 列 Eloquent 默认情况下所有模型都有 . 通过相应地设置 $timestamps 属性,可以创建这些列或只是禁用该模型的时间戳:
这是因为您的数据库表中没有字段
updated_at
.确保添加:
$table->timestamps()
迁移并重新迁移数据库(或更新表) .
这将添加字段
created_at
和updated_at
.这个错误的原因很简单 . 默认情况下,Laravel假定您的表具有
created_at
和updated_at
字段 . 因此,->save()
方法尝试存储时间戳,如您在查询中看到的那样 .如果您不希望包含这些,请在模型中添加
public $timestamps = false;
.