gpt4 book ai didi

php - Laravel、Carbon 和 Timestamp,如何设置默认值?

转载 作者:行者123 更新时间:2023-11-28 23:23:18 24 4
gpt4 key购买 nike

我有一个 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;

感谢任何帮助....

最佳答案

不要依赖负日期,而是使特定字段可为空并检查该字段是否为空。

这就是您的新迁移的样子。

Schema::table('table_name', function(Blueprint $table) {
$table->timestamp('repaired_at')->nullable()->change();
});

关于php - Laravel、Carbon 和 Timestamp,如何设置默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40540979/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com