Implementierungsidee:
Das stapelweise Einfügen von Daten besteht darin, die Daten zunächst in ein Array zu integrieren und das Array dann direkt in die Datenbank einzufügen, wodurch mehrere Daten gleichzeitig eingefügt werden.
Es gibt zwei Fälle
Der erste Fall:
Vollständige Feldeinfügung, das heißt, der Schlüssel in jedem Datenelement in diesem Array stimmt mit dem Feldnamen in der Datenbank überein und jedes Feld hat ihn.
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();
Zweiter Fall:
Nicht vollständiges Feld
$rows[] = [ 'title' => $model->title, 'content' => $model->content, ]; Yii::$app->db->createCommand()->batchInsert(Post::tableName(), ['title', 'content'], $rows)->execute();
Verwandte Empfehlungen: yii
Das obige ist der detaillierte Inhalt vonSo fügen Sie in yii2 Daten stapelweise zur Datenbank hinzu. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!