File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Exports/FansExport.php
<?php
namespace App\Http\Controllers\Exports;
use App\PreSubscriber;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
class FansExport implements FromCollection, WithHeadings, WithEvents, WithColumnFormatting
{
// set the headings
public function headings(): array
{
return [
'Documento', 'Correo', 'Tribuna', 'Sector', 'Fila', 'Silla', 'Precio'
];
}
// freeze the first row with headings
public function registerEvents(): array
{
return [];
}
public function columnFormats(): array
{
return [];
}
/**
* @return \Illuminate\Support\Collection
*/
public function collection()
{
$pre_subscribers = PreSubscriber::with('seat')->get();
$data = [];
foreach ($pre_subscribers as $pre_subscriber) {
$data[] = array(
$pre_subscriber->document, $pre_subscriber->email, $pre_subscriber->seat->zone->zone->name, $pre_subscriber->seat->zone->name, $pre_subscriber->seat->letter->name, $pre_subscriber->seat->code, $pre_subscriber->price,
);
}
return collect($data);
}
}