QrcodeRecordExporter.php 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. namespace App\Filament\Exports;
  3. use App\Models\QrcodeRecord;
  4. use Filament\Actions\Exports\ExportColumn;
  5. use Filament\Actions\Exports\Exporter;
  6. use Filament\Actions\Exports\Models\Export;
  7. use Illuminate\Support\Number;
  8. class QrcodeRecordExporter extends Exporter
  9. {
  10. protected static ?string $model = QrcodeRecord::class;
  11. public static function getColumns(): array
  12. {
  13. return [
  14. ExportColumn::make('outlet_id')
  15. ->label('店號'),
  16. ExportColumn::make('outlet_name')
  17. ->label('店名'),
  18. ExportColumn::make('name')
  19. ->label('姓名'),
  20. ExportColumn::make('phone')
  21. ->label('手機'),
  22. ExportColumn::make('qr_generated_at')
  23. ->label('QR Code 產生時間'),
  24. ];
  25. }
  26. public static function getCompletedNotificationBody(Export $export): string
  27. {
  28. $body = 'Your qrcode record export has completed and ' . Number::format($export->successful_rows) . ' ' . str('row')->plural($export->successful_rows) . ' exported.';
  29. if ($failedRowsCount = $export->getFailedRowsCount()) {
  30. $body .= ' ' . Number::format($failedRowsCount) . ' ' . str('row')->plural($failedRowsCount) . ' failed to export.';
  31. }
  32. return $body;
  33. }
  34. }