默认情况下,Laravel Eloquent 希望模型对应的数据库表中存在 created_at
和 updated_at
列,用于记录模型的创建时间和更新时间。 在创建或更新模型时,Eloquent 会自动设置或更新这些列的值。
然而,我们并不总是需要 Laravel Eloquent 在更新模型时自动更新 updated_at
或其他自定义的代表更新时间的字段,比如我们要更新用户资料或者帖子的访问/浏览次数时。
如果您总是不希望 Eloquent 自动管理这些列,您应该在模型上定义一个 $timestamps
属性,其值为 false
:
<?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Flight extends Model
{
/**
* 指示模型是否主动维护时间戳。
*
* @var bool
*/
public $timestamps = false;
}
如果您只是在特定时候不希望 Eloquent 自动管理这些列,那么也可以在模型操作中调用 $model->timestamps = false;
$user = User::find(1);
$user->timestamps = false;
$user->increment('profile_views_count');
$user->save();
想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel 更新模型时不更新 updated_at 等时间戳字段的方式
本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
如有侵权请发送邮件至1943759704@qq.com删除
码农资源网 » Laravel 更新模型时不更新 updated_at 等时间戳字段的方式