You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Exports;
|
|
|
|
|
|
|
|
use App\Models\User;
|
|
|
|
use Maatwebsite\Excel\Concerns\FromCollection;
|
|
|
|
use Maatwebsite\Excel\Concerns\WithHeadings;
|
|
|
|
|
|
|
|
class UsuariosExport implements FromCollection, WithHeadings
|
|
|
|
{
|
|
|
|
public function collection()
|
|
|
|
{
|
|
|
|
$usuarios = User::with(['puesto', 'tipo', 'departamento'])->get();
|
|
|
|
|
|
|
|
$data = [];
|
|
|
|
$contador = 1;
|
|
|
|
foreach ($usuarios as $usuario) {
|
|
|
|
$data[] = [
|
|
|
|
'No.' => $contador++,
|
|
|
|
'Nombre' => $usuario->name,
|
|
|
|
'Correo' => $usuario->email,
|
|
|
|
'Apellido' => $usuario->apellido,
|
|
|
|
'Puesto' => $usuario->puesto->nombre ?? '',
|
|
|
|
'Tipo' => $usuario->tipo->nombre ?? '',
|
|
|
|
'Departamento' => $usuario->departamento->departamento ?? '',
|
|
|
|
'Teléfono' => $usuario->telefono,
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
|
|
|
return collect($data);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function headings(): array
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
'No.',
|
|
|
|
'Nombre',
|
|
|
|
'Correo',
|
|
|
|
'Apellido',
|
|
|
|
'Puesto',
|
|
|
|
'Tipo',
|
|
|
|
'Departamento',
|
|
|
|
'Teléfono',
|
|
|
|
];
|
|
|
|
}
|
|
|
|
}
|