123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- <?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;
- 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
- {
- return [
- $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',
- ];
- }
- }
|