【发布时间】:2015-11-17 12:58:24
【问题描述】:
我正在增加表中的一些总字段
$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';
});
【问题讨论】:
-
所以更新时不需要时间戳?
-
每当我发现自己“需要”禁用更新的时间戳时;我得出结论,我的模型中有一个不属于那里的属性。我不会将
total_comments定义为模型的属性,我会计算 cmets 的数量。尽量保持数据库规范化。
标签: php laravel timestamp laravel-5