做者:白狼 出处:http://www.manks.top/yii2_batch_insert.html 本文版权归做者,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利。html
批量添加这个操做嘛,实际开发中说用,那确定是要用获得的,否则你看怎么还那么多人每天没事百度这个google那个的,对吧,活生生的须要啊sql
咱们以前写过关于yii2中如何经过gridview批量删除数据,固然,着重点在于怎么去操做gridview了,今儿咱们来好好谈谈yii2如何批量添加数据?数据库
有同窗嚷嚷了,这还不简单,我foreach一循环,每一个循环里面直接把数据插入到数据库,简单粗暴完事!我擦嘞,哥,你要是跟我在一个公司,我以为次日见到你的几率可就不大了!安全
话很少说,说多了你在骂我,咱们步入正题,先看一个简单到小学生都认识的表结构yii2
//test id name
咱们如今就是要在yii2中对这张数据表批量插入10条数据app
咱们想要的方式确定是下面这样的,一条sql多么干脆直接了事yii
insert into test (name) values ('zhangsan'), ('lisi');
分析都分析完了,好吧,赶忙看看具体实现google
//假如 $names = ['zhangsan', 'lisi']; $data = []; foreach ($names $k => $v) { $data[] = [$v]; } Yii::$app->db->createCommand()->batchInsert('test', ['name'], $data)->execute();
我相信不少人都是冲着AR能不能实现批量插入来的,理由无非就是更安全更方便操做呗。可是官方手册貌似没有,没有,没有。。。心都碎了,居然没有,至少我没有找到,你找到了请点击原文找到我并联系我,我也si分的须要方法啊。code
不过不巧的是,我找到一个跟AR相关联的操做方法,咱们共同分享参考一下看看具体怎么回事htm