gpt4 book ai didi

php - Laravel 4.2 - 添加时间到时间戳

转载 作者:可可西里 更新时间:2023-11-01 00:43:13 24 4
gpt4 key购买 nike

在 Laravel 4.2 中,当在数据库中创建记录时,使用 Eloquent,我们可以创建 created_at 和 updated_at 时间戳。

我想在我正在使用的表中添加第三列,称为 expires,我想将该列的值设置为 created_at + 72 hours

是否有“Laravel”方式来做到这一点?要访问 created_at 值?或者我应该以不同的方式处理这个问题吗?

最佳答案

Laravel 的 created_at 是 Carbon 的一个实例。使用访问器,我们可以像这样填充 $model->expires:

public function getExpiresAttribute() {
$expires = clone $this->created_at;
$expires->addHours(72);
return $expires;
}

但是,如果您希望能够查询 值(而不是仅仅为了显示而计算),则需要将其存储在数据库中。要让它自动填充,您可以告诉 Laravel 它是一个日期列并使用观察者:

public function getDates(){
return ['created_at', 'updated_at', 'expires'];
}

public static function boot() {
parent::boot();

self::creating(function($model) {
$model->expires = clone $model->created_at;
$model->expires->addHours(72);
}
}

关于php - Laravel 4.2 - 添加时间到时间戳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27890443/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com