我正在使用Eloquent进行数据库处理,当我使用更新方法更新记录created_at时,时间戳被更改了,如何防止这种情况发生?
created_at
$post = Post::update([ 'name' => $name ]);
updated_at 时间戳工作正常
updated_at
如果您的模型中没有任何自定义设置。您可以像这样更新记录:
$id = 5; // here put id of record you want to update $post = Post::findOrFail($id); $post->name = $name; $post->save();
仅name应使用此代码更新updated_at时间戳(而不是created_at)。如果created_at还进行了更新,则意味着您可能具有一些自定义模型设置,或者:
name
posts
CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
您还应该确保您的Post模型没有这样的东西:
Post
const UPDATED_AT = 'created_at';
如果还会created_at在您更新记录时说明为什么更改。