在 Laravel 中,时间戳通常用于跟踪活动,例如创建或更新记录的时间。默认情况下,这些时间戳设置为 0000-00-00 00:00。但是,自动将默认值设置为当前时间戳会很有用。
对于要定期更新的时间戳,可以使用 DB ::raw() 函数指定 CURRENT_TIMESTAMP 作为默认值:
$table->timestamp('created_at')->default(DB::raw('CURRENT_TIMESTAMP'));
这确保了created_at列将始终包含当前时间戳,无论是在最初创建记录时还是在更新记录时。
或者,您可以使用 useCurrent() 或 useCurrentOnUpdate() 方法来实现相同的结果:
$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrentOnUpdate();
useCurrent () 方法将当前时间戳指定为创建和更新的默认值,而 useCurrentOnUpdate() 仅设置更新的默认值。
对于 MySQL,您可以在 DB::raw() 中使用 ON UPDATE 子句:
$table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));
以上是如何在 Laravel Migrations 中将默认时间戳设置为当前时间戳?的详细内容。更多信息请关注PHP中文网其他相关文章!