ngoctuanit07/vietnam-boundaries

越南面积数据库。

v1.0.1 2020-12-08 08:44 UTC

This package is auto-updated.

Last update: 2024-09-08 17:01:02 UTC


README

越南面积数据库。

数据直接来源于越南国家统计局。

Latest Version on Packagist Total Downloads

安装

composer require ngoctuanit07/vietnam-boundaries

解压

方法 1

通过命令直接解压

php artisan vietnam-map:install

方法 2

复制文件配置和迁移

php artisan vendor:publish --provider="TuanNguyen\VietnamMap\VietnamMapServiceProvider"

自定义配置和迁移

  1. 重命名表

打开文件 config/vietnam-maps.php 和配置

'tables' => [
    'provinces' => 'provinces',
    'districts' => 'districts',
    'wards'     => 'wards',
],
  1. 重命名列

打开文件 config/vietnam-maps.php 和配置

'columns' => [
    'name'        => 'name',
    'gso_id'      => 'gso_id',
    'province_id' => 'province_id',
    'district_id' => 'district_id',
],
  1. 添加列

打开以下迁移文件并按需自定义

database/migrations/{datetime}_create_vietnam_maps_table.php

运行迁移

php artisan migrate

下载并导入到数据库

php artisan vietnam-map:download

与模型的使用

  1. 获取所有省份、区、街道
    use TuanNguyen\VietnamMap\Models\Province;
    use TuanNguyen\VietnamMap\Models\District;
    use TuanNguyen\VietnamMap\Models\Ward;

   class DevController extends Controller
   {
       ...
       public function dev()
       {
           $provinces = Province::all();
           $districts = District::all();
           $wards = Ward::all();
           ...
       }
   }
  1. 使用关系获取数据
    use TuanNguyen\VietnamMap\Models\Province;

   class DevController extends Controller
   {
       ...
       public function dev()
       {
           $province = Province::first();
           $districts = $province->districts;
           ...
       }
   }
  1. Province.php 中的关系
    class Province extends Model
    {
        ...
        public function districts()
        {
            return $this->hasMany(District::class);
        }
    }
  1. 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);
        }
    }
  1. Ward.php 中的关系
    class Ward extends Model
    {
        ...
        public function district()
        {
            return $this->belongsTo(District::class, config('vietnam-maps.columns.district_id'), 'id');
        }
    }

变更日志

有关最近更改的更多信息,请参阅 CHANGELOG

安全

如果您发现任何与安全相关的问题,请通过电子邮件 TuanNguyendev@gmail.com 而不是使用问题跟踪器。

致谢

参考资料

  1. 越南国家统计局
  2. 越南区域

许可

Laravel 框架是开源软件,许可协议为 MIT 许可协议