|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/lecturebazaar.com/app/Exports/ |
Upload File : |
<?php
namespace App\Exports;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
class PayoutExport implements FromCollection, WithHeadings, WithMapping
{
protected $payouts;
public function __construct($payouts)
{
$this->payouts = $payouts;
}
/**
* @return Collection
*/
public function collection()
{
return $this->payouts;
}
/**
* @inheritDoc
*/
public function headings(): array
{
return [
trans('admin/main.user'),
trans('admin/main.role'),
trans('admin/main.payout_amount'),
trans('admin/main.bank'),
trans('admin/main.phone'),
trans('admin/main.last_payout_date'),
trans('admin/main.status'),
];
}
/**
* @inheritDoc
*/
public function map($payout): array
{
$bank = $payout->userSelectedBank->bank;
$bankTitle = $bank->title . " (";
foreach ($bank->specifications as $specification) {
$selectedBankSpecification = $payout->userSelectedBank->specifications->where('user_selected_bank_id', $payout->userSelectedBank->id)->where('user_bank_specification_id', $specification->id)->first();
$bankTitle .= "{$specification->name}: {$selectedBankSpecification->value}";
}
$bankTitle .= ")";
return [
$payout->user->full_name,
$payout->user->role->caption,
handlePrice($payout->amount),
$bankTitle,
$payout->user->mobile,
dateTimeFormat($payout->created_at, 'Y/m/j-H:i'),
trans('public.' . $payout->status)
];
}
}