📅  最后修改于: 2023-12-03 15:32:34.319000             🧑  作者: Mango
在Laravel中,每个数据库表都应该包括created_at 和 updated_at两个列,它们会自动维护每条记录的创建和更新时间。但是,如果您已经有一个已经存在的表,该如何在其中添加这两个时间戳列呢?
Laravel 迁移是一种能够让你对数据库表进行版本控制的工具。通过编写迁移,您可以轻松地添加、修改或删除表中的列。因此,我们可以使用迁移来添加时间戳。
首先,我们需要创建一个新的迁移文件。在Laravel项目的根目录中打开命令行终端,并输入以下命令:
php artisan make:migration add_timestamps_to_table_name
其中 "table_name" 是您要添加时间戳的表的名称(不要输入实际的表名)。
运行完上面的命令之后,Laravel会自动在/database/migrations
目录下创建一个新的迁移文件,文件名将与命令中的名称相同。
打开新创建的迁移文件(文件名通常会以"2021_06_01_000000_add_timestamps_to_table_name.php"的形式命名),并使用以下代码向迁移文件中添加代码:
public function up()
{
Schema::table('table_name', function (Blueprint $table) {
$table->timestamps();
});
}
public function down()
{
Schema::table('table_name', function (Blueprint $table) {
$table->dropTimestamps();
});
}
其中 "table_name" 应该被替换为您想要添加时间戳的表的实际名称。
上述代码在 up
方法中添加了 timestamps
方法,该方法会让 Laravel 自动生成 created_at
和 updated_at
两个时间戳列。 而在 down
方法中添加了 dropTimestamps
,用于回滚操作。
运行迁移
运行以下命令来运行迁移文件:
php artisan migrate
这将在数据库中创建 created_at
和 updated_at
两个时间戳列。
现在,您的表已经包含了 created_at
和 updated_at
时间戳列,Laravel会在每次插入或更新数据时自动更新这些列的值。
在 Laravel 中,使用迁移添加时间戳非常简单。通过在迁移文件中添加 timestamps
方法,您可以自动向表中添加 created_at
和 updated_at
时间戳列。