2017-01-26 3 views
4

Ich benutze eine API mit vielen Berechnungen fast 100 Datenbankfelder am Ende mit einer großen Foreach-Schleife.Batch-Einfügung in Laravel 5.2

In jeder Iteration füge ich Daten in Datenbank ein. Ich möchte am Ende einmal Daten einfügen (Batch-Insert wie in CodeIgniter).

Jeder Körper hat eine Idee, wie alle Daten am Ende der Iteration eingefügt werden. statt jeder Iteration wird eine Zeile in die Datenbank eingefügt.

Ich möchte Daten am Ende der Schleife einfügen. Jede Hilfe oder Idee geschätzt.

+0

das ist genau das i auch suchen. .. –

+0

https://github.com/mavinoo/laravelBatch – Mohammad

Antwort

8

Verwenden Sie insert() Methode für Masseneinfügung. Zuerst bauen ein Array mit dieser Struktur:

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

dann die Daten einfügen Eloquent Modell:

Model::insert($data); 

oder Query Builder verwenden:

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