%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /var/www/html/kpk/api/app/Exports/
Upload File :
Create Path :
Current File : /var/www/html/kpk/api/app/Exports/ProtocolsExport.php

<?php

namespace App\Exports;

use App\Models\Protocol;
use Carbon\Carbon;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
use Maatwebsite\Excel\Concerns\ShouldAutoSize;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;

class ProtocolsExport implements FromQuery, WithHeadings, WithMapping, ShouldAutoSize
{
    use Exportable;
    /**
     * @var
     */
    private $data;

    /**
     * ProtocolsExport constructor.
     * @param $data
     */
    public function __construct($data)
    {
        $this->data = $data;
    }

    /**
     * @return array
     */
    public function headings(): array
    {
        return [
            'Numri protokollit',
            'Data',
            'Lloji',
            'Institucioni',
            'Relatori',
            'Subjekti Rivleresimit',
        ];
    }

    /**
     * @var Protocol $protocol
     * @return array
     */
    public function map($protocol): array
    {
        return [
            $protocol->number,
            Carbon::parse($protocol->arrival_date)->format('d/m/Y'),
            $protocol->type === 'incoming'
                ? 'Hyres'
                : 'Dales',
            $protocol->institution,
            $protocol->relator
                ? $protocol->relator->name
                : '',
            $protocol->subject_of_reevaluation,
        ];
    }

    public function query()
    {
        return $this->data;
    }

}

Zerion Mini Shell 1.0