Laravel Eloquent - 一次插入多个对象

时间:2014-10-13 15:32:24

标签: php mysql laravel eloquent

我通过阅读CSV文件创建多个(有时是数百个,有时是数千个)雄辩对象。

以此循环为例:

$cities = [];
while ($city = readNextCity()) {
  $cities[] = $city;
}
// ok how do I save all $cities without calling $city->save() on each?

我们知道在一个查询中插入多行比每次查询插入一行要高效得多。但是,有没有办法一次插入多个雄辩对象,以便将它们转换为一个查询? (如果没有,我不介意写它,但我不想重复努力。)

1 个答案:

答案 0 :(得分:0)

我认为您可以使用查询构建器。

$cities = array();
$i=0;
while ($city = readNextCity()) {
  $cities[$i++] = array('city' => $city);
}

DB::table('city')->insert($cities);

希望这会有所帮助。