Files
cheerstothe_season_2.0/app/Exports/DashboardExportUser.php
2024-07-11 16:05:22 +05:30

55 lines
1.8 KiB
PHP

<?php
namespace App\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Illuminate\Support\Collection;
class DashboardExportUser implements FromCollection, WithHeadings
{
protected $recentTransactions;
public function __construct(array $recentTransactions)
{
$this->recentTransactions = $recentTransactions;
}
public function collection()
{
$serial = 1;
$mappedTransactions = collect($this->recentTransactions)->map(function ($transaction) use (&$serial) {
return [
'Sr No.' => $serial++, // Increment serial number
'Full Name' => $transaction['subscription']['first_name'] . ' ' . $transaction['subscription']['last_name'],
'Customer Id' => $transaction['subscription']['id'],
'Amount' => '$ ' . $transaction['amount'],
'Subscription ID' => $transaction['subscription_id'],
'Stripe Customer Id' => $transaction['stripe_customer_id'],
'Subscription Status' => $transaction['subscription_status'],
'Current Start Period' => $transaction['current_period_start'],
'Current End Period' => $transaction['current_period_end'],
'Next Period Date' => $transaction['next_payment_date'],
];
});
return new Collection($mappedTransactions);
}
public function headings(): array
{
return [
'Sr No.',
'Full Name',
'Customer Id',
'Amount',
'Subscription ID',
'Stripe Customer Id',
'Subscription Status',
'Current Start Period',
'Current End Period',
'Next Period Date',
];
}
}