当前位置: 首页 > 知识库问答 >
问题:

如何在Laravel迁移中设置默认日期时间()?[副本]

长孙正卿
2023-03-14

我试图实现以下所示的功能:

$table->dateTime('time')->default(new \DateTime());

这个代码失败了,因为


类DateTime的对象无法转换为字符串

另一个问题是,我觉得应该有更稳健/优雅的方法来解决这个问题。那么,如何在迁移中正确设置默认的DateTime值呢?

共有1个答案

苏昂雄
2023-03-14

试试这个:

$table->timestamp('time')->useCurrent = true;

看,如果有帮助的话。

 类似资料:
  • 我不明白迁移中的选项会产生什么影响。 我可以看到数据库中的列是用默认值定义的,但是模型完全忽略了它。假设我有一个反映数据库中表的模型。我必须迁移才能创建books表: 当我创建一个新的模型实例时,我看到: 默认值被忽略,属性设置不正确。好的,我可以得到它,因为它是一个新对象,它不应该从数据库中获取默认值。但是如果我试图保存模型,比如: 在数据库的字段中保存0! 那么,迁移中的选项有什么意义呢? 顺

  • 我希望使用Laravel模式构建器/迁移在UPDATE CURRENT_TIMESTAMP上创建一个时间戳列,其默认值为

  • 但以下内容: 只是管用。 日期的大小写相同。

  • 我正在尝试格式化中的日期时间值,以使其与格式匹配,我收到以下错误: 找不到分离符号找到了意外数据。发现意外数据。跟踪数据 Im在我的模型中使用自定义格式: 它对创建方法控制器很有效,没有问题,当尝试更新时出错,我认为与值如何存储在数据库中有关。 使用修补程序,我在模型中检索updated_at的值,并以下一种格式显示: 因此,当Im更新此值时,使用的格式为: 我认为它应该是类似于但是不起作用,我如

  • 问题内容: 在()中,我可以定义一个默认的模型架构,如下所示: 如何实现相同的目的而不必每次创建文档时都插入? 问题答案: 在Go中,您无法定义字段的默认值,当创建新的struct值时,它们将始终是其类型的零值(除非您使用复合文字,可以在其中显式给出其他值)。 因此,一种选择是创建一个类似于构造函数的函数,该函数将设置该字段,并始终使用此函数来创建新用户: 当然,不能强制这样做,这也将保留结构值创

  • 问题内容: 是否可以使用NOW()将默认时间添加为10分钟? 我已经尝试过类似的方法: 但是,它不起作用。 问题答案: 我不认为你可以做到这一点。 在MySQL的文件指出: 数据类型规范中的DEFAULT value子句指示列的默认值。除一个例外,默认值必须为常数;否则为0。它不能是函数或表达式。例如,这意味着您不能将日期列的默认值设置为诸如NOW()或CURRENT_DATE之类的函数的值。唯一