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 中国語 Web サイトの他の関連記事を参照してください。