问题描述:今天在编写api的更新部分,发现有部分字段怎么更新都更新不上去。
问题排查:
- 经过多次测试,发现每次提交只能更新部分字段,字段分别为:id,user_id,device_room_id,name,desc
- 测试多次发现desc字段为空的时候才可以更新为空
- 思考是否为自动填充出了问题,检测代码发现自动填充只判断了不存在或为空的时候设置为空
- 修复判断,如果存在值则设置为该值
解决代码:
//源代码 // 设置默认值 desc 字段 public function setDescAttribute($value) { if(empty($value)){ $this->attributes['desc'] = ''; } }
//修改后代码 // 设置默认值 desc 字段 public function setDescAttribute($value) { if(empty($value)){ $this->attributes['desc'] = ''; }else{ $this->attributes['desc'] = $value; } }