一尘不染

将碳日期转换为mysql时间戳。

mysql

我在mysql数据库中有一个timestamp变量列。尝试将Carbon时间戳转换为我可以在此处输入的内容,但Carbon::now()仅返回Carbon对象,当我尝试使用Carbon对象的时间戳字符串时,它未在mysql中注册。

public function store(CreateArticleRequest $request){
        $input = $request->all(); 
        var_dump($input); // JUST SO YOU CAN SEE
        $input['published_at'] = Carbon::now(); 
        var_dump($input); // JUST SO YOU CAN SEE
        Article::create($input);   
}

我的第一个var dump就像这样:

array (size=4)
  '_token' => string 'Wy67a4hWxrnfiGz61wmXfYCSjAdldv26wOJiLWNc' (length=40)
  'title' => string 'ASDFasdf' (length=8)
  'body' => string 'asdfasdf' (length=8)
  'published_at' => string '2015-08-26' (length=10)

我的第二个var dump就是这样。

与“ published_at”有关的mysql列是一个时间戳变量。我想如何将其从Carbon对象转换为?

提前致谢。


阅读 200

收藏
2020-05-17

共1个答案

一尘不染

您也可以在模型上设置Mutator。

public function setPublishedAt($value)
{
    $this->attributes['published_at'] = strtotime($value);
}

转换为时间戳

$model -> setPublishedAt('2015-08-26'); // 1440572400

或者您可以使用将日期转换为时间戳 strtotime

strtotime —将任何英语文本日期时间描述解析为Unix时间戳

希望能有所帮助。

2020-05-17