ThinkPHP5如何模型批量添加数据

白癜风能治好的吗 http://news.39.net/bjzkhbzy/180529/6288655.html

小编最近在学习thinkphp5,大家都说学thinkPHP5最好没学过thinkPHP3.2,但是吧,我没学过3.2也是苦恼重重啊。。今天小编给大家分享一个可以实现单文件和多文件(或者图片)上传的类。

thinkphp5的写法,看文档是新增用model-save()方法。如果是批量增加的话,就有两种做法:

做法一:model-saveAll(data);

做法二:model-isUpdate(false)-save();//循环

官方给的原型是这样的:

美国服务器

不知道大家是怎么想的,反正我按照了之前的做法,直接使用model-save(data);新增一条数据,没想到真的可以成功。

然后惯性的思想,循环的时候就用了model-isUpdate(fasle)-save(data);

然后?没然后了,悲催了:

1SQLSTATE[]:Integrityconstraintviolation:Duplicateentry57forkeyPRIMARY

显示明显。存在了相应的数据阻止了数据的新增。如果从百度上上面去单从这个错误区找解决方法的话,估计就是教你把主键设置为自增字段。

但是,明显小编在设计数据表的时候,主键已经为自增字段,何况之前还能新增数据!

真的是让人头痛啊。然后我就去数据库查看了一下数据的记录,还真的是发现有一条记录里面,但是这条记录除了主键,其余的只有默认信息。

我想应该是在执行过程中,执行了两次新增,不知道为什么第二次新增的时候,主键的值为何与第一次的新增值关联了起来。

小编太菜,没办法深入研究。然后看了一下文档下面的评论才找到解决方法。

执行时错误的代码:

raksmart服务器

这个仅仅是为了测试新建的一个数据表。

以下是成功插入数据的代码:

rak机房

由代码看出,把数据放在前面用data函数传递,我设不设置第二个参数都试了一下,发现没有什么不一样。都是可以用的。

学习thinkPHP真的是难,可能也是小编笨==。看了整整一个月,反反复复的看。毕竟像小编这样的穷人是没钱去看收费的文档的,所以学习PHP很不易,大家且行且珍惜呀!

raksmart小班




转载请注明:http://www.aierlanlan.com/rzfs/3369.html