実装アイデア:
データをバッチで挿入することは、まずデータを配列に統合し、次にその配列をデータベースに直接挿入することで、次のことを実現します。 one 複数のデータを挿入します。
状況は 2 つあります
最初の状況:
完全なフィールド挿入、つまり、この配列内のデータの各部分のキーは、配列内のフィールド名と一致します。データベースとすべてのフィールドにそれがあります。
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();
2 番目のケース:
フィールドが完全ではない
$rows[] = [ 'title' => $model->title, 'content' => $model->content, ]; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), ['title', 'content'], $rows)->execute();
関連する推奨事項:yii
以上がyii2 でデータベースにデータをバッチで追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。