Laravel 5.2中的批量插入

14

我正在使用一个API,其中有很多计算,最终涉及近100个数据库字段,并使用了一个大的foreach循环。

在每次迭代中,我都会将数据插入数据库。我希望在结束时一次性插入所有数据(批量插入,类似于CodeIgniter)。

有没有人知道如何在迭代结束时将所有数据一次性插入,而不是在每次迭代中都插入行到数据库中。

我想在循环结尾处插入数据。任何帮助或想法都会受到赞赏。


这正是我也在寻找的。 - M Arfan
https://github.com/mavinoo/laravelBatch - Mohammad
1个回答

38

使用insert()方法进行批量插入。首先,构建一个具有以下结构的数组:

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

然后使用Eloquent模型插入数据:

Model::insert($data);

或者使用查询构建器:

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

2
应该将Alexey Mezenin的回答标记为解决方案。 - nemcaninz
插入后将能够通过响应获得自增ID。 - sankar muniyappa

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接