akaunting/app/Exports/Sales/Sheets/InvoiceItems.php

47 lines
963 B
PHP

<?php
namespace App\Exports\Sales\Sheets;
use App\Abstracts\Export;
use App\Models\Document\DocumentItem as Model;
class InvoiceItems extends Export
{
public function collection()
{
$model = Model::invoice()->with('document', 'item')->usingSearchString(request('search'));
if (!empty($this->ids)) {
$model->whereIn('document_id', (array) $this->ids);
}
return $model->cursor();
}
public function map($model): array
{
$document = $model->document;
if (empty($document)) {
return [];
}
$model->invoice_number = $document->document_number;
$model->item_name = $model->item->name;
return parent::map($model);
}
public function fields(): array
{
return [
'invoice_number',
'item_name',
'quantity',
'price',
'total',
'tax',
];
}
}