Laravel / Lumen 框架修改 創建時間 和 更新時間 對應字段


為避免浪費時間……先上解決方案

在Model中重寫 CREATED_ATUPDATED_AT 兩個類常量就可以了,這兩個常量分別是創建時間和更新時間的字段名。

===============================================

以下只是簡單的介紹和十分逗比的解決過程

Laravel 是十分強大的全棧PHP框架,其衍生品 Lumen 則更加專精一些,官方將其定位在微服務和API開發領域。

Lumen 也是我目前采用的 API 開發框架,作為 Laravel 的子集,Lumen同樣可以使用強大的 Eloquent ORM。

Laravel 的 Eloquent ORM 提供了漂亮、簡潔的 ActiveRecord 實現來和數據庫進行交互。每個數據庫表都有一個對應的「模型」可用來跟數據表進行交互。你可以通過模型查詢數據表內的數據,以及將記錄添加到數據表中。
原文

問題

Eloquent 中使用了大量的約定來減輕開發者的負擔,比如本次要提到的'創建時間'和'更新時間'字段

默認情況下,Eloquent 會認為在你的數據庫表有 created_at 和 updated_at 字段。如果你不希望讓 Eloquent 來自動維護這兩個字段,可在模型內將 $timestamps 屬性設置為 false
原文

通常來講,我們只要按照這些約定來設計數據庫和模型就好了,在數據表中建立created_at 和 updated_at 字段,然后就不用操心別的了~
但總有些特殊場景讓我們無法遵從約定,比如我手上的項目,數據表結構由合作團隊的人員設計好了,創建時間和更新時間分別是 createtimeupdatetime ,而且對方已經開發上了……再讓人家改字段名顯然也不太合適。

中文教程文檔上看起來沒有提如何修改字段……那就翻翻API文檔吧……
果然API文檔里找到了兩個常量:
CREATED_ATUPDATED_AT;
看介紹,這兩個值就是我想要的字段名了。遂重寫之。可用。喜。

原本以為教程文檔上就是不全,關鍵時刻還是要去查API文檔,然而事后去翻了一下官方的英文文檔……

If you need to customize the names of the columns used to store the timestamps, you may set the CREATED_AT and UPDATED_AT constants in your model

這TM不就寫着呢嗎(╯‵□′)╯︵┻━┻
這個故事告訴我們……翻譯出來的文檔上未必就是齊全的……翻譯文檔上沒寫的內容未必就是原文沒有的……
說多了都是傷心淚……我還是去看看怎么給中文文檔貢獻翻譯好了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM