File: /var/www/vhost/disk-apps/qas.sports-crowd.com/app/Http/Controllers/Exports/ReportAcademy.php
<?php
namespace App\Http\Controllers\Exports;
use App\AcademyUser;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\FromCollection;
class ReportAcademy implements FromCollection, WithHeadings, WithEvents
{
// set the headings
public function headings(): array
{
return [
'Alumno Academia', 'Documento de identificación', 'Usuario', 'Correo electrónico', 'Edad', 'Teléfono móvil',
'Teléfono', 'Fecha de nacimiento', 'Talla de camiseta', 'Talla de pantaloneta/sudadera',
'Fecha de inscripción', 'Dirección', 'Barrio', 'Nombre del Padre',
'Ocupación del Padre', 'Nombre de la Madre', 'Ocupación de la Madre', 'Con quien vive', 'Colegio',
'Grado', 'Jornada', 'Historial Quirúrgico', 'Historial Tóxico', 'Observaciones de Salud', 'EPS', 'Punto de atención'
];
}
// freeze the first row with headings
public function registerEvents(): array
{
return [];
}
public function collection()
{
// the above code is the same as in 2.x was ..
$academy_users = AcademyUser::with('user')->get();
$data = [];
foreach ($academy_users as $user) {
$data[] = array(
$user->user_name,
$user->identification,
$user->user->first_name . ' ' . $user->user->last_name,
$user->mail,
$user->age,
$user->mobile,
$user->phone,
$user->birthdate,
$user->tshirt_size,
$user->shorts_size,
$user->date,
$user->address,
$user->neighborhood,
$user->father_name,
$user->father_occupation,
$user->mother_name,
$user->mother_occupation,
$user->living_with,
$user->school_name,
$user->school_grade,
$user->school_time,
$user->surgical_history,
$user->toxic_history,
$user->health_observations,
$user->eps,
$user->point_attention
);
}
return collect($data);
}
}