更新功能使用以下代码运行良好。我在哪里更新status
字段为 0
。该字段的默认值为 1
。它工作正常,但是 created_at
每当使用此功能时,字段也会更新。应该是updated_at
正在更新的字段不是 created_at
.
在我的notification_records
我有表created_at
和updated_at
字段。
哪里created_at
数据类型为timestamp()
如果有新创建的通知记录并且updated_at
,则使用此字段字段仅供修改
public function notification(Request $request){
$company_id = auth()->user()->company_id;
DB::connection('mysql')->select("UPDATE notification_records SET status = '0' WHERE company_id = '".$company_id."' AND id = '".$request->ind."'");
}
我想做的是,每当使用该函数时,唯一的字段将更新 created_at
之间的字段值。和updated_at
是updated_at
仅有的。有没有可能用上面的代码来做到这一点?
最佳答案
这是 laravel 5.2 中的问题
您可以通过删除并读取时间戳来缓解这种情况,如下所示:
而不是 $table->timestamps()
;
$table->timestamp('created_at')->default('0000-00-00 00:00');
$table->timestamp('updated_at')->default('0000-00-00 00:00');
请参阅此处的问题:Laravel changes created_at on update
解决方案引用这里
关于php - 使用 Laravel 更新 : created_at is updated when updating record,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56335577/