9

我需要在实时站点的表上添加 last_activity 列,我必须将其默认值设置为等于 updated_at 列值。我正在使用 laravel 5.1 和 mysql 数据库驱动程序。

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

谢谢。

4

1 回答 1

37

这应该有效:

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

要在创建或更新 a 时强制执行此关系User,您可以使用Model Events和/或Model Observers

于 2016-05-12T11:14:57.563 回答