Export data to downloadable CSV.
Component
@php
new class extends Livewire\Component {
public function export()
{
$filename = 'export-' . now()->format('Y-m-d') . '.csv';
return response()->streamDownload(function () {
$handle = fopen('php://output', 'w');
fputcsv($handle, ['Name', 'Email', 'Created']);
User::chunk(100, function ($users) use ($handle) {
foreach ($users as $user) {
fputcsv($handle, [$user->name, $user->email, $user->created_at]);
}
});
fclose($handle);
}, $filename);
}
}
@endphp