📜  laravel 时间戳 - PHP (1)

📅  最后修改于: 2023-12-03 15:17:15.233000             🧑  作者: Mango

Laravel 时间戳 - PHP

Laravel 是一个流行的 PHP 框架,它提供了一种方便的方法来为数据库表自动维护时间戳字段。时间戳是指某个事件发生的时间,通常包括创建时间和更新时间两个字段。

在 Laravel 中,时间戳是通过模型中的 $timestamps 属性来启用的,默认情况下该属性为 true。如果 $timestamps 属性为 true,Laravel 就会在数据库表中自动创建 created_atupdated_at 两个时间戳字段。

创建表时添加时间戳

如果你想在 Laravel 中创建一个带有时间戳的数据库表,可以在 create 方法中使用 timestamps() 函数,该函数将自动为表添加 created_atupdated_at 字段。

Schema::create('users', function (Blueprint $table) {
    $table->bigIncrements('id');
    $table->string('name');
    $table->string('email')->unique();
    $table->timestamp('email_verified_at')->nullable();
    $table->string('password');
    $table->rememberToken();
    $table->timestamps(); // 添加时间戳
});
手动更新时间戳

在 Laravel 中,你可以使用 touch() 方法手动更新一个模型的时间戳。该方法将更新模型的 updated_at 字段,使用当前时间戳。

$user = User::find(1);
$user->touch();
关闭时间戳功能

如果你不想在 Laravel 中使用时间戳功能,可以将 $timestamps 属性设置为 false

class User extends Model
{
    public $timestamps = false;
}
自定义时间戳字段名称

如果你想在 Laravel 中使用自定义名称的时间戳字段,可以将 $createdAt$updatedAt 属性设置为自定义名称。

class User extends Model
{
    protected $table = 'my_users';
    const CREATED_AT = 'created';
    const UPDATED_AT = 'updated_at';
}
总结

在 Laravel 中,你可以方便地使用自动维护时间戳的功能,使数据库表的管理更加简单。此外,Laravel 也提供了手动更新时间戳、关闭时间戳功能以及自定义时间戳字段名称等功能,以适应不同的业务需求。