深入解析thinkphp中的addAll方法

原因

创新互联建站专注于湖里企业网站建设,成都响应式网站建设公司,商城网站建设。湖里网站建设公司,为湖里等地区提供建站服务。全流程按需求定制制作,专业设计,全程项目跟踪,创新互联建站专业和态度为您提供的服务

在做中控系统中遇到了一个给用户批量分配角色的问题,刚开始想到的是循环插入,但立马给否定了,循环操作数据库开发者的大忌啊,于是查找手册找到数据写入看到批量操作:addAll(),测试成功,以为万事大吉了,但当第二次操作时提示失败,找原因,原来是数据库中已经存在的数据addAll()没有覆盖导致了错误

解决方法

查找Thinkphp源码翻到Library/Think/Model.class.php找到了addAll方法:public function addAll($dataList,$options=array(),$replace=false)于是秒懂了,replace肯定是问你是否覆盖已经存在的数据,于是修改我的addAll方法为:$user->addAll($data,array(),true):再次测试问题解决。


当前文章:深入解析thinkphp中的addAll方法
文章起源:http://scyanting.com/article/igpsed.html