- 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.
55 lines
1.5 KiB
PHP
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
|
|
];
|
|
}
|
|
}
|