【发布时间】:2016-03-01 22:19:30
【问题描述】:
我正在尝试在 laravel 中使用 fputcsv 导出用户详细信息。这是我的代码。
DB::table('users')->where('department', '=', MCA)->distinct('email')->select('rollno', 'email')
->chunk(500, function ($users) use ($handle) {
foreach ($users as $user) {
// Add a new row with data
fputcsv($handle, [
$user->rollno,
$user->email,
]);
}
});
fclose($handle);
}, 200, $headers);
return $response->send();
使用此代码我能够获取所有记录,但是否有任何选项可以限制要导出的记录数。我曾尝试使用 take(),但它没有用。 有什么建议吗?
【问题讨论】:
-
这不是已经将它们分块了 500 吗?
-
@CanCelik ya 它的分块然后是 500,但我的问题是这个查询会生成 10000 条记录,但我只想得到 3000 条。
-
你试过先拍后拍吗?
-
@CanCelik 我正在尝试将其扩展到一百万个条目。如果我先采取,那么变量将无法处理这么多数据。