laravel 插入或更新时,数据库字段严格匹配?
laravel有这样的功能吗:
在插入或更新数据时,严格匹配传递进来的数据是否为数据库字段,多的数据丢弃或者跑出异常。
例如thinkphp类似这样的功能:
模型中,使用allowField
$user = new User();
// 过滤post数组中的非数据表字段数据
$user->allowField(true)->save($_POST,['id' => 1]);
使用DB时,用strict
// 关闭字段严格检查
Db::name('user')
->strict(false)
->insert($data);
如果没有,请问添加这样的功能复杂吗?
(刚入门laravel,虚心学习)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果是用create(),例如DB::table('xxx')->create(['xx'=>'xx'])(或者用Model操作create(['xx'=>'xxx']))
插入多条记录的话,可在model里面用$fillable变量对插入的表字段进行白名单式控制.也就是说插入的时候,只能插入$fillable指定的。例如:
字段获取可以用 request->only('field1','field2')来获取你指定的字段名字;