Files
location/app/Exports/DistrictsExport.php
Daeng Deni Mardaeni 817eb3360b fix(cities): perbaiki pemetaan nama provinsi untuk kota
- Memperbarui pemetaan nama provinsi berdasarkan kode kota tertentu.
- Menambahkan logika untuk menetapkan nama provinsi jika kode kota termasuk dalam daftar tertentu.
- Mengubah referensi dari `$row->province->name` menjadi `$row->province_name` untuk konsistensi.

fix(districts): perbaiki pemetaan nama provinsi untuk distrik

- Memperbarui pemetaan nama provinsi berdasarkan kode kota dalam distrik.
- Menambahkan logika untuk menetapkan nama provinsi jika kode kota termasuk dalam daftar tertentu.
- Mengubah referensi dari `$row->city->province->name` menjadi `$row->province_name` untuk konsistensi.

fix(villages): perbaiki pemetaan nama provinsi untuk desa

- Memperbarui pemetaan nama provinsi berdasarkan kode kota dalam desa.
- Menambahkan logika untuk menetapkan nama provinsi jika kode kota termasuk dalam daftar tertentu.
- Mengubah referensi dari `$row->district->city->province->name` menjadi `$row->province_name` untuk konsistensi.
2025-04-27 16:00:19 +07:00

55 lines
1.5 KiB
PHP

<?php
namespace Modules\Location\Exports;
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithColumnFormatting;
use Maatwebsite\Excel\Concerns\WithHeadings;
use Maatwebsite\Excel\Concerns\WithMapping;
use Modules\Location\Models\District;
use Modules\Location\Models\Province;
class DistrictsExport implements WithColumnFormatting, WithHeadings, FromCollection, withMapping
{
public function collection(){
$data = District::with('city.province')->get();
$data = $data->map(function ($item) {
if (in_array($item->city_code, ['92.01', '92.04', '92.05', '92.09', '92.10', '92.71'])) {
$item->province_name = Province::where('code', '92.1')->first()->name;
} else {
$item->province_name = $item->city->province->name;
}
return $item;
});
}
public function map($row): array{
return [
$row->id,
$row->code,
$row->name,
$row->city->name,
$row->province_name,
$row->created_at
];
}
public function headings(): array{
return [
'ID',
'Code',
'Name',
'City',
'Province',
'Created At'
];
}
public function columnFormats(): array{
return [
'A' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_NUMBER,
'F' => \PhpOffice\PhpSpreadsheet\Style\NumberFormat::FORMAT_DATE_DATETIME
];
}
}