在Laravel Eloquent中自动更新日期时间字段的首选方法是什么

时间:2019-05-16 08:32:57

标签: php laravel eloquent

我有一个包含3个datetime字段的表: 1。created_at(由Laravel生成并处理), 2。updated_at(由Laravel生成并处理), 3。custom_date(由我创建,每次更改created_atupdated_at时都会更改)。

我希望每次创建新记录或更改前两个字段时,都会使用回调更新custom_date。 如何在Laravel 5.7中使用Eloquent做到这一点?

我已经尝试使用增幅器,但我避免使用它,因为每次更改created_atupdated_at时都会更新该字段。

1 个答案:

答案 0 :(得分:0)

您应该像这样对迁移文件进行配置:

$table->timestamp('custom_date')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'));

这样,custom_date字段将更新:

1。)当行与created_at字段一起创建时(在您的laravel应用上)。

2。)当行与updated_at字段一起更新时(在您的laravel应用上)。

3。)直接对数据库进行任何修改。