如何在laravel中将数据插入数据库

时间:2015-12-14 09:02:15

标签: php laravel laravel-5 eloquent

我正在尝试将数据插入一个表,我的表有三列,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'(SQL:插入login_historyphonenologin_date,{{1} },updated_at)values(1,2015-12-14 08:55:25,2015-12-14 08:55:25,2015-12-14 08:55:25))

3 个答案:

答案 0 :(得分:2)

您的表格中没有 created_at updated_at Eloquent 默认情况下所有模型都有。通过相应地设置 $ timestamps 属性来创建这些列或只是禁用该模型的时间戳:

class LoginHistory {
  protected $timestamps = false;
}

答案 1 :(得分:2)

这是因为您的数据库表中没有字段updated_at 请务必添加:

$table->timestamps()

迁移并重新迁移数据库(或更新表)。

这将添加字段created_atupdated_at

答案 2 :(得分:2)

此错误的原因很简单。默认情况下,Laravel假定您的表格包含created_atupdated_at字段。因此,->save()方法会尝试存储您在查询中看到的时间戳。

如果您不希望包含这些内容,请在模型中添加public $timestamps = false;