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

Mary-Kate Olsen
發布: 2024-11-22 14:59:13
原創
768 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板