在Laravel 遷移中將默認時間戳列值設置為當前時間戳
問題:
如何我可以在Laravel 遷移中定義一個時間戳列,將預設值設為當前時間戳,並在修改時將其更新為當前時間戳嗎?
答案:
MySQL:
要將時間戳列的預設值設定為目前時間戳並在MySQL中修改時更新它,可以使用useCurrent() 和useCurrentOnUpdate() 列修飾符:
<code class="php">$table->timestamp('created_at')->useCurrent(); $table->timestamp('updated_at')->useCurrent()->useCurrentOnUpdate();</code>
PostgreSQL:
對於PostgreSQL,不需要特定的修飾符。只需使用timestamp() 方法即可將預設值設為當前時間戳記:
<code class="php">$table->timestamp('created_at');</code>
較舊的Laravel 版本:
在5.1.25 之前的Laravel 版本中,您可以使用DB::raw() 方法設定預設值:
<code class="php">$table->timestamp('created_at')->default(DB::raw('NOW()')); $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP'));</code>
陷阱:
以上是如何將時間戳列的預設值設為當前時間戳記並在 Laravel 遷移中的修改時更新它?的詳細內容。更多資訊請關注PHP中文網其他相關文章!