ThinkPHP6模型批量保存SaveAll()方法,亲测可用,超详细代码
日常难题记录:tp6 中的saveAll()的使用方法
控制器代码:
$Lay =new OddlayModel; $res=$Lay->saveAll(input('post.'));//使用函数助手input('post.')//一次传过来好多input表单值 return json_ok($res);//return $res数据
API测试方式:
当我们使用前端提交时,报500的错。查看具体时,错误代码为:
Argument 1 passed to think\Model::setAttr() must be of the type string, intXXXX
苦思冥想,前端不能用这批量写了也没用。。。。。
直到在后来在看文章时看到有个大佬时这样写的,给了我启发:
虽然报的错不一样,但是我们也可以直接强制把前端传过来的数据强制转换为数组(虽然我们接收的就是数组,强制转换最保险)
所以,我们把代码改进一下:
$Lay =new OddlayModel;//使用函数助手input('post.')//一次传过来好多input表单值 //接收数组,但是前端传过来报500错 $res=$Lay->saveAll(input('post.res/a'));//res/a强制转换数组前端正常传 return json_ok($res);//return $res数据
APIpost工具提交的格式也相应改一下,如下的格式:
然后前端测试提交数组,成功提交到数据库,到此可以愈快下班回家干饭了;
最后贴一下控制器的完整代码:
saveAll(input('post.res/a'));//res/a强制转换数组前端正常传 return json_ok($res);//return $res数据 //返回数组 // dump($res); }}
不是专业做这个的,有说的错误之处,勿喷~
只是记录自己一个小白遇到的难点和解决方法
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43915164/article/details/127558402
来源地址:https://blog.csdn.net/weixin_43915164/article/details/127558402
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341