如何使用块方法在laravel中获取10000条记录?

问题描述:

我想获取大量的数据并导出它。最多1000条记录它工作正常,但之后,服务器变得缓慢,无法导出文件。执行查询并导出它需要一些时间。如何使用块方法在laravel中获取10000条记录?

+0

这回答在这里:https://stackoverflow.com/questions/45323659/laravel-collection-with-relations-take-a-lot-of-时间/ 45324021#45324021 – aaron0207

+2

[Laravel - 具有关系的集合需要大量时间的可能的副本](https://stackoverflow.com/questions/45323659/laravel-collection-with-relations-take-a-lot-of-时间) –

请看看Package它允许使用Laravel雄辩模型直接导出数据。

另外,你也可以在你的口才的块方法。

https://laravel.com/docs/5.0/eloquent

首先检索所有记录,然后块1000条记录一次。将代码分成不同的功能,以便排序。即使是大块也是这样做的,它将收集分解成多个集合。 ex。 User :: chunk(1000,function($ rows){}