實作想法:
批次插入資料就是先將資料整合在一個陣列裡面,然後將這個陣列直接插入資料庫中,從而實現一次性插入多條資料。
分成兩種情況
第一種情況:
全字段插入,就是這個數組中每條資料裡面的鍵都和資料庫裡面字段名一致,且每個字段都有。
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();
相關推薦:yii
以上是yii2怎麼向資料庫批量添加數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!