|
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 StoreOrdersExport implements FromCollection, WithHeadings, WithMapping
{
protected $orders;
public function __construct($orders)
{
$this->orders = $orders;
}
/**
* @return Collection
*/
public function collection()
{
return $this->orders;
}
/**
* @inheritDoc
*/
public function headings(): array
{
return [
trans('admin/main.id'),
trans('update.customer'),
trans('update.customer_id'),
trans('admin/main.seller'),
trans('update.seller_id'),
trans('admin/main.type'),
trans('update.quantity'),
trans('admin/main.paid_amount'),
trans('admin/main.discount'),
trans('admin/main.tax'),
trans('admin/main.date'),
trans('admin/main.status'),
];
}
/**
* @inheritDoc
*/
public function map($order): array
{
if ($order->status == \App\Models\ProductOrder::$waitingDelivery) {
$status = trans('update.product_order_status_waiting_delivery');
} elseif ($order->status == \App\Models\ProductOrder::$success) {
$status = trans('update.product_order_status_success');
} elseif ($order->status == \App\Models\ProductOrder::$shipped) {
$status = trans('update.product_order_status_shipped');
} elseif ($order->status == \App\Models\ProductOrder::$canceled) {
$status = trans('update.product_order_status_canceled');
}
return [
$order->id,
!empty($order->buyer) ? $order->buyer->full_name : '',
!empty($order->buyer) ? $order->buyer->id : '',
!empty($order->seller) ? $order->seller->full_name : '',
!empty($order->seller) ? $order->seller->id : '',
!empty($order->product) ? trans('update.product_type_' . $order->product->type) : '',
$order->quantity,
!empty($order->sale) ? handlePrice($order->sale->total_amount) : '',
!empty($order->sale) ? handlePrice($order->sale->discount) : '',
!empty($order->sale) ? handlePrice($order->sale->tax) : '',
dateTimeFormat($order->created_at, 'j F Y H:i'),
$status ?? '',
];
}
}