G1.*_*1.3 12
您可以将Symfony HttpFoundation 组件中的StreamedResponse与Doctrine iterate结合使用。
像这样的东西:
$response = new StreamedResponse(function () {
$data = $this->myQuery()->iterate();
$csv = fopen('php://output', 'w+');
while (false !== ($line = $data->next())) {
fputcsv($csv, [$line[0]->column1], ';');
}
fclose($csv);
});
$response->headers->set('Content-Type', 'text/csv; charset=utf-8');
$response->headers->set('Content-Disposition', 'attachment; filename="file.csv"');
Run Code Online (Sandbox Code Playgroud)