zmap95 / vietnam-maps
Vietnam's area database.
v1.0.4
2024-09-18 11:01 UTC
Requires
- php: ^7.2|^8.0|^8.1
- guzzlehttp/guzzle: ^7.0.1
- illuminate/console: ^5.8|^6|^7|^8|^9|^10|^11
- illuminate/database: ^5.8|^6|^7|^8|^9|^10|^11
- illuminate/support: ^5.8|^6|^7|^8|^9|^10|^11
- maatwebsite/excel: ^3.1
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Database of Vietnam's area.
Data are taken directly from the General Statistics Office of Vietnam.
Install
composer require zmap95/vietnam-maps
Extracting
Method 1:
Extract directly via command:
php artisan vietnam-map:install
Method 2:
Copy file config và migration
php artisan vendor:publish --provider="Zmap95\VietnamMap\VietnamMapServiceProvider"
Customize config và migration
- Rename table
Open file config/vietnam-maps.php and config:
'tables' => [ 'provinces' => 'provinces', 'districts' => 'districts', 'wards' => 'wards', ],
- Rename column
Open file config/vietnam-maps.php and config:
'columns' => [ 'name' => 'name', 'gso_id' => 'gso_id', 'province_id' => 'province_id', 'district_id' => 'district_id', ],
- Add column
Open the following migration files and customize if you need:
database/migrations/{datetime}_create_vietnam_maps_table.php
Run migration
php artisan migrate
Download và import into database
php artisan vietnam-map:download
Usage with Models
- Get all provinces, districts, wards
use Zmap95\VietnamMap\Models\Province; use Zmap95\VietnamMap\Models\District; use Zmap95\VietnamMap\Models\Ward; class DevController extends Controller { ... public function dev() { $provinces = Province::all(); $districts = District::all(); $wards = Ward::all(); ... } }
- Get data using relationship
use zmap95\VietnamMap\Models\Province; class DevController extends Controller { ... public function dev() { $province = Province::first(); $districts = $province->districts; ... } }
- Relation in Province.php
class Province extends Model { ... public function districts() { return $this->hasMany(District::class); } }
- Relation in District.php
class District extends Model { ... public function province() { return $this->belongsTo(Province::class, config('vietnam-maps.columns.province_id'), 'id'); } public function wards() { return $this->hasMany(Ward::class); } }
- Relation in Ward.php
class Ward extends Model { ... public function district() { return $this->belongsTo(District::class, config('vietnam-maps.columns.district_id'), 'id'); } }
Changelog
Please see CHANGELOG for more information what has changed recently.
References
License
The Laravel framework is open-sourced software licensed under the MIT license.