问题:最新在做项目中,需要更新数据,但是有时候前端或者一些form会提交数据表中没有的字段,如果直接交给Orm,会直接报错,说某字段不存在
解决路径:
- 在Model层添加字段白名单$fillable
- 在Update之前重新组装数组,保障都是数据表中有的字段,例如
3.每次更新前,获取表中的结果,与给到的更新数组进行对比,取出来交集,然后再去更新,例如
问题: 有没有更加简单有效的方式处理这个问题,问题应该不是交给Model,如何在request的时候就直接进行过滤呢?
问题:最新在做项目中,需要更新数据,但是有时候前端或者一些form会提交数据表中没有的字段,如果直接交给Orm,会直接报错,说某字段不存在
解决路径:
问题: 有没有更加简单有效的方式处理这个问题,问题应该不是交给Model,如何在request的时候就直接进行过滤呢?
controller
层用 request()->only()
只获取想要的字段$validator = validator(request()->only('field'), [
'field' => 'require|string'
]);
if (!$validator->fails()) {
$params = $validator->validated();
}
2 回答4.3k 阅读✓ 已解决
4 回答4.3k 阅读
2 回答864 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
7 回答1.8k 阅读
1 回答4.1k 阅读✓ 已解决
我觉得一个一个字段指定为好, 不要搞什么按前端传来的数据设字段.
这是风险的来源.