我有一个包含3个datetime字段的表:
1。created_at
(由Laravel生成并处理),
2。updated_at
(由Laravel生成并处理),
3。custom_date
(由我创建,每次更改created_at
或updated_at
时都会更改)。
我希望每次创建新记录或更改前两个字段时,都会使用回调更新custom_date
。
如何在Laravel 5.7中使用Eloquent做到这一点?
我已经尝试使用增幅器,但我避免使用它,因为每次更改created_at
或updated_at
时都会更新该字段。
答案 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。)直接对数据库进行任何修改。