File: /var/www/vhost/disk-apps/demo.sports-crowd.com/app/Http/Controllers/Exports/BusinessExport.php
<?php
namespace App\Http\Controllers\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithEvents;
use Maatwebsite\Excel\Concerns\WithHeadings;
class BusinessExport implements FromCollection, WithHeadings, WithEvents
{
private $results;
public function __construct($results)
{
$this->results = $results;
}
// set the headings
public function headings(): array
{
return [
__('messages.business.title_3'),
__('messages.business.title_4'),
__('messages.business.title_11'),
__('messages.business.title_17'),
__('messages.business.title_15'),
__('messages.business.title_5'),
__('messages.business.title_6'),
__('messages.business.title_7'),
__('messages.business.title_20-1'),
__('messages.business.title_20-2'),
__('messages.business.title_18'),
__('messages.business.title_14'),
__('messages.business.title_8'),
];
}
// freeze the first row with headings
public function registerEvents(): array
{
return [];
}
public function collection()
{
$data = [];
foreach ($this->results as $business) {
$data[] = array(
$business->name,
$business->image,
$business->description,
$business->category,
$business->emailClient,
$business->addressesClient,
$business->phone,
$business->age,
$business->instagram,
$business->facebook,
\Carbon\Carbon::parse($business->created_at)->format('Y-m-d h:i:s A'),
$business->approved,
$business->active === 1 ? 'SI' : 'NO',
);
}
return collect($data);
}
}