我的数据库中有一个表,其中包含可为空的时间戳列。
$table->timestamp('custom_timestamp')->nullable();
在数据库中创建该行时,此列将为空。稍后,当用户执行此特定操作时,我想用用户执行此操作时的时间戳更新此列。
我的问题:向此列添加自定义时间戳的语法是什么?
伪代码说明:
$myObject->custom_timestamp = *AD THE CURRENT TIME*;
$myObject->save();
编辑: 如果您对看似合法的问题不满意,请在评论中解释您的担忧
答案 0 :(得分:2)
您可以像这样生成时间戳:
碳
use Carbon\Carbon;
$myObject->custom_timestamp = Carbon::now()->toDateTimeString();
口才
$myObject->custom_timestamp = $myObject->freshTimestampString();
答案 1 :(得分:2)
您可以使用Carbon library解决与日期时间有关的问题。如果要设置用户操作的当前时间,请执行以下操作。
$object->custom_timestamp = Carbon::now();
$object->save();
或
$object->update(['custom_timestamp' => Carbon::now() ]);
要在代码中使用Carbon,请在<?php
之后添加以下行
use Carbon\Carbon;
如果您的项目中还没有Carbon,请通过运行以下命令添加库:
$ composer require nesbot/carbon
您不必仅使用此库来完成任务,但我真的很喜欢这个功能强大的库并推荐使用。
答案 2 :(得分:1)
使用laravel碳。您还可以格式化要保存的日期。在此处了解更多信息:carbon
use Carbon\Carbon;
$now = Carbon::now();
$myObject->custom_timestamp = $now; // 2018-10-16 22:02:28
$myObject->save();