File: /var/www/vhost/disk-apps/agile-selling-mia/app/Http/Controllers/Exports/ReportClientsFifteen.php
<?php
namespace App\Http\Controllers\Exports;
use DateTime;
use App\User;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Events\AfterSheet;
class ReportClientsFifteen implements FromCollection, WithHeadings, WithEvents {
// set the headings
public function headings(): array
{
return [
'Email', 'Nombres', 'Teléfono', 'Fecha registro',
];
}
// freeze the first row with headings
public function registerEvents(): array
{
return [];
}
public function collection()
{
$from = date("Y-m-d", mktime(0, 0, 0, date("m"), date("d") - 15, date("Y")));
$to = new DateTime();
$users = User::whereNotIn('id', function ($query) use ($from, $to) {
$query->select('client_id')->from('orders')->whereBetween('creation_date', [$from . " 00:00:00", $to]);
})->where('rol_id', 4)->get();
$data = [];
foreach ($users as $user) {
$data[] = array(
$user->email, $user->first_name . ' ' . $user->last_name, $user->phone, $user->created_at,
);
}
return collect($data);
}
}