做者:白狼 出處: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