国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Yii2如何批量添加數據

2024-05-04 23:46:18
字體:
來源:轉載
供稿:網友
批量添加這個操作,在實際開發中經常用得到,今天小編抽空給大家整理些有關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如何批量添加數據的相關知識,希望對大家有所幫助!



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 磴口县| 永登县| 南华县| 许昌县| 通州市| 秭归县| 浦县| 天门市| 比如县| 三门县| 墨江| 梁平县| 南投县| 酉阳| 诏安县| 剑阁县| 黎平县| 阳城县| 泗阳县| 六安市| 杭州市| 澳门| 曲靖市| 石渠县| 北川| 腾冲县| 正定县| 黑龙江省| 南平市| 临桂县| 军事| 黔东| 宁化县| 凌海市| 镇远县| 昌吉市| 鹿邑县| 栖霞市| 临潭县| 封丘县| 石泉县|