Laravel:防止 Updated_at 在记录创建时填充

use*_*937 3 php laravel eloquent

在 Laravel >=5.8 的最新版本中,我注意到当您创建新模型记录时,updated_at表中的列会自动填充与 相同的值created_at。虽然填写是有意义的,created_atModel::create()填写的意义updated_at何在?NULL在我看来,保留Laravel 5.8 之前的样子更有意义

是否有已知的简单方法来禁用这种新行为?

hal*_*oei 6

我个人更喜欢将当前行为updated_at设置为创建时的当前时间戳。这样,在排序时,未修改的记录将被放置在已修改的记录之间updated_at。如果的
初始值为,则它们将被放置在列表的开头或末尾。我不认为这是大多数人想要的。updated_atnull

但是,您可以在模型的类中更改它:

protected static function booted(): void
{
    static::creating(function (self $model) {
        $model->updated_at = null;
    });
}
Run Code Online (Sandbox Code Playgroud)