diff --git a/app/Exports/CitiesExport.php b/app/Exports/CitiesExport.php index 8e7b082..b0bc1eb 100644 --- a/app/Exports/CitiesExport.php +++ b/app/Exports/CitiesExport.php @@ -11,7 +11,18 @@ use Modules\Location\Models\City; class CitiesExport implements WithColumnFormatting, WithHeadings, FromCollection, withMapping { public function collection(){ - return City::with('province')->get(); + $data = City::with('province')->get(); + + $data = $data->map(function ($item) { + if (in_array($item->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->province->name; + } + return $item; + }); + + return $data; } public function map($row): array{ @@ -19,7 +30,7 @@ class CitiesExport implements WithColumnFormatting, WithHeadings, FromCollection $row->id, $row->code, $row->name, - $row->province->name, + $row->province_name, $row->created_at ]; } diff --git a/app/Exports/DistrictsExport.php b/app/Exports/DistrictsExport.php index 1fb4779..7272af6 100644 --- a/app/Exports/DistrictsExport.php +++ b/app/Exports/DistrictsExport.php @@ -7,11 +7,21 @@ 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(){ - return District::with('city.province')->get(); + $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{ @@ -20,7 +30,7 @@ class DistrictsExport implements WithColumnFormatting, WithHeadings, FromCollect $row->code, $row->name, $row->city->name, - $row->city->province->name, + $row->province_name, $row->created_at ]; } diff --git a/app/Exports/VillagesExport.php b/app/Exports/VillagesExport.php index fa9c26f..146c5ce 100644 --- a/app/Exports/VillagesExport.php +++ b/app/Exports/VillagesExport.php @@ -6,12 +6,22 @@ use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithColumnFormatting; use Maatwebsite\Excel\Concerns\WithHeadings; use Maatwebsite\Excel\Concerns\WithMapping; +use Modules\Location\Models\Province; use Modules\Location\Models\Village; class VillagesExport implements WithColumnFormatting, WithHeadings, FromCollection, withMapping { public function collection(){ - return Village::with('district.city.province')->get(); + $data = Village::with('district.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->district->city->province->name; + } + return $item; + }); } public function map($row): array{ @@ -22,7 +32,7 @@ class VillagesExport implements WithColumnFormatting, WithHeadings, FromCollecti $row->postal_code, $row->district->name, $row->district->city->name, - $row->district->city->province->name, + $row->province_name, $row->created_at ]; }