fputcsv中的分块和限制

时间:2016-03-01 22:19:31

标签: laravel fputcsv

我正尝试在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()但它没有用。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您可以使用take来限制查询。

DB::table('users')->where('department', '=', MCA)
                   ->distinct('email')
                   ->select('rollno', 'email')
                   ->take(3000)
                   ->chunk(500, function ($users) use ($handle) {
                       ....
                       ....
                       ....

                   });

return $response->send();