【发布时间】:2015-12-11 01:25:02
【问题描述】:
我手头有超过 100,000 条记录,为 Array of STD Objects(可以转换为 Array of Arrays 或 Array of Eloquent Models)。
如何使用1个查询将它们全部存储在数据库中。
如果您想知道我从另一个数据库连接中获取这些数据以将它们保存到我的数据库中。
当然,我可以构建每个 Eloquent 模型并调用 save() 函数,但这会花费很多时间,因此不建议这样做。
我在模型上尝试了insert(),将一个 Eloquent 模型数组传递给它,但由于某些原因没有奏效!!
那么除了生成原始 SQL 查询之外,我还有哪些选择?
我在这里使用 Laravel 4.2。
【问题讨论】:
-
按照 Taylor Otwell 的说法:“老实说,只需为此使用查询生成器。这样会更有效率,也更有意义。” - github.com/laravel/framework/issues/1295
-
我觉得在laravel中也定义了
savemany的函数,如果你分享一些代码就好了。 -
@DavidStromberg 如果您可以分享一些代码来演示如何使用查询生成器执行此操作,或者使用哪些函数会非常有帮助。
-
@AnshulMishra
saveMany是当您有关系时,您可以将它们全部保存在一起,效果非常好。但这不是我的情况。而且代码非常复杂(不是我的):D
标签: php mysql laravel laravel-4 eloquent