這篇文章主要介紹了yii2向數(shù)據(jù)庫批量添加數(shù)據(jù)的示例,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
創(chuàng)新互聯(lián)專注于陽原企業(yè)網(wǎng)站建設,響應式網(wǎng)站,商城建設。陽原網(wǎng)站建設公司,為陽原等地區(qū)提供建站服務。全流程按需定制網(wǎng)站,專業(yè)設計,全程項目跟蹤,創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務實現(xiàn)思路:
批量插入數(shù)據(jù)就是先將數(shù)據(jù)整合在一個數(shù)組里面,然后將這個數(shù)組直接插入到數(shù)據(jù)庫中,從而實現(xiàn)一次性插入多條數(shù)據(jù)。
分兩種情況
第一種情況:
全字段插入,就是這個數(shù)組中每條數(shù)據(jù)里面的鍵都和數(shù)據(jù)庫里面字段名一致,且每個字段都有。
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();
感謝你能夠認真閱讀完這篇文章,希望小編分享yii2向數(shù)據(jù)庫批量添加數(shù)據(jù)的示例內(nèi)容對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設公司,,關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián)網(wǎng)站建設公司,,詳細的解決方法等著你來學習!