laravel-5 - 如何将 CURRENT_TIMESTAMP 设置为时间戳函数中的某个列?
问题描述
我正在使用 Laravel 5.4,我读过文档说,有两个函数使用非常相似的名称,它是timestamps
和timestamp
:
时间戳
$table->timestamps();
添加可为空
created_at
的和updated_at
TIMESTAMP
等效的列。
时间戳
$table->timestamp('name_column');
TIMESTAMP
等效列。
如您所见,timestamps
创建了一个默认的两列,created_at
并updated_at
具有默认TIMESTAMP
属性。我怎样才能只制作一个具有仅使用单个命令的属性的updated_at
列CURRENT_TIMESTAMP
?
我做了如下:
$table->timestamps()->useCurrent();
但是我使用上面的命令得到了一个错误,所以我使用了default(\DB::raw('CURRENT_TIMESTAMP'))
. 为了解决这个问题,我必须做两个命令,如下所示:
$table->timestamp('created_at');
$table->timestamp('updated_at')->default(\DB::raw('CURRENT_TIMESTAMP'));
我怎么能做到这一点?
解决方案
推荐阅读
- clickhouse - 如何在最终查询中添加包含空数据的行?
- jenkins - Jenkins 插件 - 如何获取当前正在执行的工作?
- php - 如何使用两个查询结果只显示一次数据
- c++ - 重载 == 让类与 std::string 进行比较
- java - 如何解决 Maven cfx 构建失败?
- scala - 使用 java.io.File.mkdirs() 将文件写入目录,然后在 spark 集群模式下无法访问它
- mysql - 使用 OR 的 1 个语句中的多组查询
- mysql - MySQL 列长度最大为 1026 个字符
- javascript - 如何为右侧做一个消失的元素,这与它在左侧工作一样
- c# - 例外:“发送 HTTP 标头后服务器无法设置状态。” Controller成功返回后