total_comments += 1; $model->save(); 但是,这会触发 updated_at 的更新日期。我想在这些情况下禁用它。我知道我-6ren">
gpt4 book ai didi

php - Laravel 在增加字段时禁用自动 "updated_at"

转载 作者:行者123 更新时间:2023-12-02 06:55:29 28 4
gpt4 key购买 nike

我正在增加表中的一些总字段

$model->total_comments += 1;
$model->save();

但是,这会触发 updated_at 的更新日期。我想在这些情况下禁用它。我知道我可以手动完成并完全禁用时间戳字段的自动更新。但希望有一个简单的方法来做到这一点。

编辑:

从我的代码中添加示例。请注意,此模型上没有设置观察者。

namespace App\Models;

class Language extends \Illuminate\Database\Eloquent\Model
{

}

$router->get('/test', function () {
$model = \App\Models\Language::find(1);

$model->words_total = $model->words_total + 1;
$model->save(['timestamps' => false]);

return 'boo';
});

最佳答案

注意目前框架中存在一个错误,导致第一个解决方案无法正常工作。如果它得到修复,我将保持这个帖子的最新状态。 Github issue


您可以将选项数组传递给 save() 并禁用该保存的时间戳:

$model->save(['timestamps' => false]);

当然,您也可以在模型上设置属性,但如果您有可能继续使用同一模型,则需要将其设置回 true实例:

$model->timestamps = false;
$model->save();
$model->timestamps = true;

关于php - Laravel 在增加字段时禁用自动 "updated_at",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32176607/

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