Yii2如何批量添加数据,Yii2批量添加数据_PHP教程
Yii2如何批量添加数据,Yii2批量添加数据
批量添加这个操作,在实际开发中经常用得到,今天小编抽空给大家整理些有关yii2批量添加的问题,感兴趣的朋友一起看看吧。
在上篇文章给大家介绍了关于浅析Yii2 gridview实现批量删除教程,当然,着重点在于怎么去操作gridview了,今儿我们来好好谈谈yii2如何批量添加数据?
有同学嚷嚷了,这还不简单,我foreach一循环,每个循环里面直接把数据插入到数据库,简单粗暴完事!我擦嘞,哥,你要是跟我在一个公司,我觉得第二天见到你的概率可就不大了!
话不多说,说多了你在骂我,我们步入正题,先看一个简单到小学生都认识的表结构
//test id name
我们现在就是要在yii2中对这张数据表批量插入10条数据
我们想要的方式肯定是下面这样的,一条sql多么干脆直接了事
insert into test (name) values ('zhangsan'), ('lisi');
分析都分析完了,好吧,赶紧看看具体实现
//假如 $names = ['zhangsan', 'lisi']; $data = []; foreach ($names $k => $v) { $data[] = [$v]; } Yii::$app->db->createCommand()->batchInsert('test', ['name'], $data)->execute();
我相信很多人都是冲着AR能不能实现批量插入来的,理由无非就是更安全更方便操作呗。但是官方手册貌似没有,没有,没有。。。心都碎了,竟然没有,至少我没有找到,你找到了请点击原文找到我并联系我,我也si分的需要方法啊。
不过不巧的是,我找到一个跟AR相关联的操作方法,我们共同分享参考一下看看具体怎么回事
假设有一个Post类的数组 $models,你就可以这样操作
use yii\helpers\ArrayHelper; $rows = []; foreach ($models as $model) { if ($model->validate()) { $rows[] = $model->attributes; } } $rows = ArrayHelper::getColumn($models, 'attributes'); $postModel = new Post; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), $postModel->attributes(), $rows)->execute(); //当然啦,上面给出的是插入所有的字段,但事实往往事与愿违,也简单,稍作调整即可 $rows[] = [ 'title' => $model->title, 'content' => $model->content, ]; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), ['title', 'content'], $rows)->execute();
虽然又回到了batchInsert上,不过没关系,该验证的都验证了,安全是无须担心的。
以上所述是小编给大家介绍的Yii2如何批量添加数据的相关知识,希望对大家有所帮助!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

在購買電腦的時候,不一定會選擇很大的硬碟,這時候如果我們想在win11新增硬碟,可以先安裝購買的新硬碟,然後在電腦裡新增分割區就可以了。 win11新增硬碟教學:1、首先,我們拆開主機,找到硬碟的插槽。 2.找到後,我們先接上“數據線”,一般會有防呆設計,插不進去反個方向即可。 3.隨後將新的硬碟插入硬碟插槽。 4.插入後,將資料線的另一頭接到電腦的主機板上。 5.安裝完成後,就可以裝回主機,並開機了。 6.開機後,我們右鍵“此電腦”,開啟“電腦管理”7、開啟後,點選左下角的“磁碟管理”8、隨後在右邊可以

許多用戶在現代生活中越來越青睞小米智慧家庭互聯的電子生態,那麼連接米家APP後,你就可以輕鬆用手機來控制連接設備,但是很多用戶們還不知如何將自己的家居添加米家app中,那麼這篇教學攻略將為大家帶來具體連接方法步驟攻略,希望能幫助到各位有需要的小夥伴們。 1.下載米家APP後,建立或登入小米帳號。 2.添加方法:當全新的設備通電後,將手機靠近設備並打開小米電視,正常情況下會彈出連接提示,選擇“確定”即進入設備連接流程。若無提示彈出,也可以手動新增設備,方法是:進入智慧型家庭APP後,點選左下方第1

win10如何批次重命名檔案後綴?現在有非常多的使用者都在使用Win10系統,而我們在平常使用電腦的過程中,常常會用到很多的快捷鍵,因為快捷鍵能讓我們的操作更方便,那麼要怎麼批量重命名文件?下面,小編就為大家介紹下Win10批次重命名檔的操作。 Win10批次重命名檔案的操作1、全選你想重新命名的檔案。 2.在選取狀態的一個檔案上點右鍵,選擇重新命名。 3.一個檔案改好新名稱後,其他文件依序被序號標記。方法很簡單,只不過修改的時候要注意文件排列順序,以及被修改的樣本文件排序位置。序號是從被修改的樣本文件開

在win11中,我們可以透過新增桌面捷徑的方法在桌面上快速啟動軟體或文件,而且只需要右鍵需要的文件就可以操作了。 win11新增桌面捷徑:1、開啟“此電腦”,找到你想要新增桌面捷徑的檔案或軟體。 2、找到後,右鍵選取它,點選「顯示更多選項」3、再選擇「傳送到」-「桌面捷徑」4、操作完成後,就可以在桌面上找到捷徑了。

如何新增PolygonMainnet網路要將MATIC(Polygon)與Metamask連結使用,您需要新增一個名為「PolygonMainnet」的專用網路。使用錯誤的網路位址進行轉入會導致出現問題,所以在轉出$MATIC之前,請務必使用「PolygonMainnet」網路。 Metamask錢包預設連接到以太坊主網,但我們可以很簡單地添加“PolygonMainnet”並使用$MATIC。只需簡單的複製和貼上幾個步驟,就能完成。首先,在Metamask錢包中,點擊右上角的網路選項,選擇「C

Vue中如何將浮水印到圖片中? Vue是一種流行的JavaScript框架,被廣泛使用於建立Web應用程式。有時我們需要在Vue應用程式中為圖片添加浮水印,以保護圖片的版權或增加圖片的可識別性。在本文中,我將向大家介紹一種在Vue中添加浮水印到圖片的方法,並提供對應的程式碼範例。第一步,我們需要在Vue中引入一個用於添加浮水印的第三方函式庫。推薦使用watermarkj

Tampermonkey油猴Chrome擴充功能是一款使用者腳本管理插件,透過腳本提高了使用者的效率和瀏覽體驗,那麼Tampermonkey要怎麼加入新腳本呢?怎麼刪除腳本呢?下面就讓小編給大家解答吧!Tampermonkey怎麼加入新腳本:1、這裡拿GreasyFork來舉例子,打開GreasyFork網頁,輸入要按照的腳本,小編這裡選擇的一鍵離線下載2、選擇一個腳本,進入腳本頁面後可以看到安裝此腳本的按鈕3、點選安裝此腳本,來到安裝介面。這裡點擊安裝就可以了4、我們可以在以安裝的腳本中看到安裝好的一鍵
![Outlook卡在新增帳戶[修復]](https://img.php.cn/upload/article/000/887/227/171116770937641.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
當您在Outlook中新增帳戶時遇到問題時,可以嘗試以下解決方案來解決。通常這可能是由網路連線故障、使用者設定檔損壞或其他暫時性問題引起的。透過本文提供的方法,您可以輕鬆解決這些問題,確保您的Outlook能夠正常運作。 Outlook卡在新增帳戶如果您的Outlook在新增帳戶時卡住,請使用下面提到的這些修復程式:中斷並重新連接網路暫時停用防毒軟體建立新的Outlook設定檔嘗試在安全模式下新增帳戶停用IPv6運行Microsoft支援和恢復助理修復辦公室應用程式Outlook新增帳戶需
