【发布时间】:2016-11-11 04:10:26
【问题描述】:
我有一个 5.1.26 的 Laravel 项目,其中一个模型有很多时间戳字段,它们都是在迁移时使用类似的东西创建的:
$table->timestamp('repaired_at');
在 MySQL 上,该字段的默认值为 '0000-00-00 00:00:00'
效果很好,如果我想检查,如果某个项目尚未修复,我会通过以下操作检查默认值 ('0000-00-00 00:00:00'):
if (starts_with($item->repaired_at,"-0001")) {
// Date Have not been set
} else {
// Date have been set
}
由于 Carbon 将“0000-00-00 00:00:00”转换为“-0001-11-30 00:00:00”
问题是我还没有找到将时间戳字段设置为其默认值'0000-00-00 00:00:00'的方法
我需要弄清楚是否设置了日期...并且能够将日期重置为默认值(未设置值)...我想继续使用 eloquent 以便我可以只需执行以下操作:
$item->returned_at = DEFAULT_VALUE;
感谢您的帮助....
【问题讨论】:
-
为什么不将该字段设为空?
标签: php mysql laravel timestamp php-carbon