我有一个与kartik-v / export一起使用的查询将所有结果导出到excel,返回大量结果并导致服务器内存不足。
以下是一个示例查询:
$query = Customer::find()->where('status'=>1);
$activeDataProvider = new ActiveDataProvider(['query'=>$query]) ;
return $activeDataProvider;
如何将其正确转换为批量查询?还是有另一种方法来防止内存泄漏?
答案 0 :(得分:0)
您可以尝试批量查询http://www.yiiframework.com/doc-2.0/guide-db-active-record.html
// fetch 10 customers at a time foreach (Customer::find()->batch(10) as $customers) { // $customers is an array of 10 or fewer Customer objects }