Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Batch insert in Laravel 5.2

I am using a API's with lot's of calculation almost 100 database fields at the end with a big Foreach loop.

In every iteration i insert data in database. I want to insert data in once at the end (Batch Insert like in CodeIgniter).

Any body have idea how to insert all data at the end of iteration. instead of every iteration it insert row in database.

I want to insert data at the end of loop. Any help or idea appreciated.

like image 678
Irfan Ali Avatar asked Jan 26 '17 10:01

Irfan Ali


1 Answers

Use insert() method for bulk insertion. First, build an array with this structure:

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

Then insert the data using Eloquent model:

Model::insert($data);

Or using query builder:

DB::table('table_name')->insert($data);
like image 197
Alexey Mezenin Avatar answered Oct 05 '22 12:10

Alexey Mezenin