MIF_E31222663/app/Exports/PrediksiExport.php

101 lines
2.4 KiB
PHP

<?php
namespace App\Exports;
use App\Models\HasilPengujian;
use App\Models\DataUji;
use Illuminate\Support\Collection;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithHeadings;
class PrediksiExport implements FromCollection, WithHeadings
{
public function collection()
{
$dataUji = DataUji::select([
'kecamatan',
'data_tahun',
'jumlah_penduduk',
'phbs',
'imunisasi_pcv_1',
'imunisasi_pcv_2',
'rata_rata_imunisasi',
'perilaku_merokok',
'data_kasus',
'latitude',
'longitude',
'status_prediksi',
])->get()->map(function ($item) {
return [
$item->kecamatan,
$item->jumlah_penduduk,
$item->data_tahun,
$item->phbs,
$item->imunisasi_pcv_1,
$item->imunisasi_pcv_2,
$item->rata_rata_imunisasi,
$item->perilaku_merokok,
$item->data_kasus,
$item->latitude,
$item->longitude,
$item->data_tahun ? $item->data_tahun + 1 : '-',
$item->status_prediksi,
];
});
$hasilPengujian = HasilPengujian::select([
'kecamatan',
'jumlah_penduduk',
'data_tahun',
'phbs',
'pcv1',
'pcv2',
'imunisasi',
'merokok',
'jumlah_kasus',
'latitude',
'longitude',
'prediksi_tahun',
'status_prediksi',
])->get()->map(function ($item) {
return [
$item->kecamatan,
$item->jumlah_penduduk,
$item->data_tahun,
$item->phbs,
$item->pcv1,
$item->pcv2,
$item->imunisasi,
$item->merokok,
$item->jumlah_kasus,
$item->latitude,
$item->longitude,
$item->prediksi_tahun,
$item->status_prediksi,
];
});
// Gabung array, lalu jadikan Collection
return collect($dataUji->toArray())
->merge($hasilPengujian->toArray());
}
public function headings(): array
{
return [
'Kecamatan',
'Jumlah Penduduk',
'Data Tahun',
'PHBS',
'PCV1',
'PCV2',
'Imunisasi',
'Merokok',
'Jumlah Kasus',
'Latitude',
'Longitude',
'Prediksi Tahun',
'Status Prediksi',
];
}
}