2017-02-09 92 views
0

我使用Laravel 5.2(PHP的版本7)和下面是我運行更新查詢:Laravel 5.2 - 如何使用UTC時間戳更新「updated_at」字段?

$data=DB::table('posts') 
         ->where("id", $post_id) 
         ->update(
          array(
           'title'   =>  $request['title'], 
           'body'   =>  $request['body'], 
           'slug'   =>  str_slug($request['title']), 
           'updated_at' =>  DB::raw('CURRENT_TIMESTAMP') 
      )); 

的「的updated_at」字段與當前時間更新。但我想用UTC時間戳更新它。我怎樣才能做到這一點?

+1

您不需要手動設置'updated_at'值;當調用'update()'時,Eloquent用當前UTC時間戳爲你設置它。 –

+0

@MartinBean我檢查了mysql的記錄,如果我使用update(),我發現'updated_at'沒有改變。 –

+0

對不起,剛剛意識到你正在使用'DB'外觀而不是一個Eloquent模型。我會爲你的帖子創建一個Post模型(如果你還沒有的話) - 這會比直接使用數據庫模式更簡單。 –

回答

0

如果您使用model->save()方法,它應該爲您處理創建和更新的日期。一般來說,您不需要在Laravel中進行原始數據庫更新。

如果您希望爲此設置不同的時區,請查看app.php中的時區設置。然而默認是'UTC',所以你不必擔心。

+0

我用save()函數代替update()。 –