我目前正在學習Laravel和Eloquent,並且已經設置了一些最初的遷移來玩。我的一個表只需要創建時間,因爲一旦插入某一行的存在,它永遠不會被更新:Laravel的雄辯可以更新創建時間,但不是更新時間嗎?
// The run table only needs a creation timestamp, not an updated timestamp
Schema::create('runs', function (Blueprint $table) {
$table->increments('id');
$table->timestamp('created_at');
});
我明白,能言善辯的默認預計既是created_at
和updated_at
列存在,並且該功能可以完全關閉。從手冊:
默認情況下,Eloquent預期created_at和updated_at列存在於您的表上。如果您不希望通過Eloquent自動管理這些列,請將模型上的
$timestamps
屬性設置爲false。
但是,是否可以要求雄辯自動設置創建時間而不是更新時間?我意識到我可以手動執行此操作,但如果Eloquent可以「免費」執行此操作,那將會很好。
[一個簡單的解決方案](http://stackoverflow.com/q/18067614),我現在正在使用的是在數據庫級別設置默認列值,並關閉Eloquent中的時間戳記功能。 – halfer