File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Exports/TicketsMatchesExport.php
<?php
namespace App\Http\Controllers\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
class TicketsMatchesExport implements FromCollection, WithHeadings, WithEvents
{
private $results;
public function __construct($results)
{
$this->results = $results;
}
// set the headings
public function headings(): array
{
return [
__('messages.tickets_matches.title_2'),
__('messages.tickets_matches.title_13'),
__('messages.tickets_matches.title_3'),
__('messages.tickets_matches.title_4'),
__('messages.tickets_matches.title_5'),
__('messages.tickets_matches.title_6'),
__('messages.tickets_matches.title_7'),
__('messages.tickets_matches.title_8'),
__('messages.tickets_matches.title_9'),
__('messages.tickets_matches.title_10'),
__('messages.tickets_matches.title_11'),
__('messages.tickets_matches.title_12'),
];
}
// freeze the first row with headings
public function registerEvents(): array
{
return [];
}
public function collection()
{
$data = [];
foreach ($this->results as $ticket) {
$data[] = array(
$ticket->code_ticket, $ticket->special_text, $ticket->reference, $ticket->name,
$ticket->first_name . " " . $ticket->last_name,
$ticket->document, $ticket->email, $ticket->type,
\Carbon\Carbon::parse($ticket->created_at)->format('Y-m-d h:i:s A'),
\Carbon\Carbon::parse($ticket->entry_date)->format('Y-m-d h:i:s A'),
$ticket->door, $ticket->attempts
);
}
return collect($data);
}
}