首頁  >  文章  >  資料庫  >  如何在 Laravel 遷移中設定預設時間戳值?

如何在 Laravel 遷移中設定預設時間戳值?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-22 14:59:13800瀏覽

How to Set Default Timestamp Values in Laravel Migrations?

使用 Laravel 遷移設定預設時間戳值

Laravel Schema Builder 提供了一個建立和修改資料庫表的便捷方法。但是,使用者在建立和更新時將預設時間戳值設定為當前時間戳記時偶爾會遇到問題。

timestamps() 方法

通常,timestamps() 方法用於自動管理created_at和updated_at時間戳列。但是,此方法將它們的預設值設為 '0000-00-00 00:00:00'。

解決方案: DB::raw() 和useCurrent()

要設定預設值CURRENT_TIMESTAMP,請使用DB::raw():

從Laravel 5.1.25 開始,還可以使用useCurrent() 方法:

MySQL ON UPDATE 子句

對於MySQL,您可以使用下列方式指定ON UPDATE 子句DB::raw() :

從Laravel 8.36.0開始,您可以將useCurrentOnUpdate() 與useCurrent():

陷阱

  • My:
  • My: ,'0000-00-00 00:00 :00' 無效。使用 useCurrent() 或使時間戳記可為空。
PostgreSQL & Laravel 4.x: 使用 CURRENT_TIMESTAMP(0) 確保零精度並避免 Carbon 解析問題。

以上是如何在 Laravel 遷移中設定預設時間戳值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn