web-dev-qa-db-fra.com

Insertion de lot dans Laravel 5.2

J'utilise une API avec beaucoup de calcul, près de 100 champs de base de données à la fin avec une grande boucle Foreach.

À chaque itération, j'insère des données dans la base de données. Je veux insérer des données une fois à la fin (Batch Insert comme dans CodeIgniter).

Tout organisme a une idée de comment insérer toutes les données à la fin de l'itération. au lieu de chaque itération, il insère une ligne dans la base de données.

Je veux insérer des données à la fin de la boucle. Toute aide ou idée appréciée.

11
Irfan Ali

Utilisez la méthode insert() pour l'insertion en bloc. Tout d'abord, créez un tableau avec cette structure:

$data = [
    ['name' => 'John', 'age' => 25],
    ['name' => 'Maria', 'age' => 31],
    ['name' => 'Julia', 'age' => 55],
];

Insérez ensuite les données à l'aide du modèle Eloquent:

Model::insert($data);

Ou en utilisant le générateur de requêtes:

DB::table('table_name')->insert($data);
24
Alexey Mezenin