我需要在一个实时网站的表格中添加一个last_activity列,我必须将其默认值设置为等于updated_at列值。我正在使用laravel 5.1和mysql数据库驱动程序。
Schema::table('users', function(Blueprint $table)
{
$table->dateTime('last_activity')->default("COLUMN VALUE OF UPDATED_AT");
});
感谢。
答案 0 :(得分:16)
这应该有效:
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。