1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace App\Exports;
- use App\Models\Requirement;
- use Maatwebsite\Excel\Concerns\Exportable;
- use Maatwebsite\Excel\Concerns\FromQuery;
- use Maatwebsite\Excel\Concerns\WithHeadings;
- use Maatwebsite\Excel\Concerns\WithMapping;
- class RequirementExport implements FromQuery, WithMapping, WithHeadings
- {
- use Exportable;
- private static $index = 1;
- public function query()
- {
- return Requirement::with(['createdBy', 'plan', 'group', 'asset', 'projects'])
- ->orderBy("created_at")
- ->filter(request()->all());
- }
- /**
- * @param Requirement $requirement
- * @return array
- */
- public function map($requirement): array
- {
- $displayId = self::$index++;
- return [
- $displayId,
- //$requirement->id,
- $requirement->title,
- $requirement->group?->name,
- $requirement->status,
- $requirement->asset?->name,
- $requirement->plan?->name,
- $requirement->projects?->pluck("name")->join(","),
- $requirement->priority,
- $requirement->approval_status,
- $requirement->note,
- $requirement->description,
- $requirement->createdBy?->name,
- $requirement->created_at,
- ];
- }
- public function headings(): array
- {
- return [
- 'ID',
- 'Title',
- 'Requirement Group',
- 'Status',
- 'Plan',
- 'Asset',
- 'Projects',
- 'Priority',
- 'Approval Status',
- 'Note',
- 'Description',
- 'Created By',
- 'Created Date',
- ];
- }
- }
|