2016-05-12 127 views
1

我需要在活動網站的表格上添加last_activity列,我必須使其默認值等於updated_at列值。我使用laravel 5.1和mysql數據庫驅動程序。Laravel遷移:添加具有現有列的默認值的列

Schema::table('users', function(Blueprint $table) 
{ 
    $table->dateTime('last_activity')->default("COLUMN VALUE OF UPDATED_AT"); 
}); 

謝謝。

回答

5

這應該工作:

Schema::table('users', function(Blueprint $table) { 
    $table->dateTime('last_activity'); 
}); 

\DB::statement('UPDATE users SET last_activity = updated_at'); 

請參閱 「運行的一般性聲明」:https://laravel.com/docs/5.1/database#database-transactions

執行這一關係創建或更新User時,您可以使用Model Events和/或Model Observers

+1

這正是我想要的。謝謝。 –

+1

如果你使用'$ table-> timestamp('last_activity') - > useCurrent();'當行更新時它會繼續設置last_activity。 –

相關問題