首页 > 解决方案 > 如何将 CURRENT_TIMESTAMP 设置为时间戳函数中的某个列?

问题描述

我正在使用 Laravel 5.4,我读过文档说,有两个函数使用非常相似的名称,它是timestampstimestamp

时间戳

$table->timestamps();

添加可为空created_at的和updated_at TIMESTAMP等效的列。

时间戳

$table->timestamp('name_column');

TIMESTAMP等效列。

如您所见,timestamps创建了一个默认的两列,created_atupdated_at具有默认TIMESTAMP属性。我怎样才能只制作一个具有仅使用单个命令的属性的updated_atCURRENT_TIMESTAMP

我做了如下:

$table->timestamps()->useCurrent();

但是我使用上面的命令得到了一个错误,所以我使用了default(\DB::raw('CURRENT_TIMESTAMP')). 为了解决这个问题,我必须做两个命令,如下所示:

$table->timestamp('created_at');
$table->timestamp('updated_at')->default(\DB::raw('CURRENT_TIMESTAMP'));

我怎么能做到这一点?

标签: laravel-5migrationdatabase-migration

解决方案


推荐阅读