PHPackages                             khanh-duy/danhmuchanhchinhvn-maps - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. khanh-duy/danhmuchanhchinhvn-maps

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

khanh-duy/danhmuchanhchinhvn-maps
=================================

A PHP library for working with administrative maps of Vietnam.

v1.0.1(12mo ago)024MITPHPPHP ^8.2

Since May 2Pushed 12mo ago1 watchersCompare

[ Source](https://github.com/devcontainerDuy/danhmuchanhchinhvn-maps)[ Packagist](https://packagist.org/packages/khanh-duy/danhmuchanhchinhvn-maps)[ RSS](/packages/khanh-duy-danhmuchanhchinhvn-maps/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (5)Versions (3)Used By (0)

Danhmuchanhchinhvn Maps
=======================

[](#danhmuchanhchinhvn-maps)

Thư viện PHP hỗ trợ làm việc với bản đồ hành chính Việt Nam. Gói này cung cấp các công cụ để quản lý và nhập dữ liệu về tỉnh, huyện, xã trong Việt Nam sử dụng Laravel.

Dữ liệu được lấy trực tiếp từ [Tổng Cục Thống Kê Việt Nam](https://danhmuchanhchinh.gso.gov.vn/).

Tính năng
---------

[](#tính-năng)

- Nhập dữ liệu hành chính từ tệp Excel.
- Quản lý tỉnh, huyện, xã bằng các mô hình Eloquent.
- Tự động tạo bảng cơ sở dữ liệu và các mối quan hệ.
- Tùy chỉnh tên bảng và cột.

Yêu cầu
-------

[](#yêu-cầu)

- PHP 8.2 trở lên.
- Laravel Framework.
- Các thư viện cần thiết:
    - `maatwebsite/excel`
    - `guzzlehttp/guzzle`
    - `illuminate/support`
    - `illuminate/console`
    - `illuminate/database`

Cài đặt
-------

[](#cài-đặt)

1. Cài đặt gói thông qua Composer:

    ```
    composer require khanh-duy/danhmuchanhchinhvn-maps
    ```
2. Xuất file cấu hình và file migration:

    ```
    php artisan vendor:publish --provider="KhanhDuy\DanhmuchanhchinhvnMaps\Providers\ServiceProvider"
    ```

Cấu hình
--------

[](#cấu-hình)

File cấu hình `config/gso.php` cho phép bạn tùy chỉnh tên bảng và cột được sử dụng bởi gói. Cấu hình mặc định như sau:

1. Tables:

    ```
    'tables' => [
        'provinces' => 'provinces',
        'districts' => 'districts',
        'wards'     => 'wards',
    ],
    ```
2. Columns:

    ```
    'columns' => [
        'name' => 'name',
        'gso_id' => 'gso_id',
        'province_id' => 'province_id',
        'district_id' => 'district_id',
    ],
    ```

Sử dụng
-------

[](#sử-dụng)

### Mô hình

[](#mô-hình)

Gói cung cấp ba mô hình Eloquent để quản lý dữ liệu hành chính:

- `Province`: Đại diện cho tỉnh.
- `District`: Đại diện cho huyện.
- `Ward`: Đại diện cho xã.

#### Ví dụ: Lấy danh sách huyện trong một tỉnh

[](#ví-dụ-lấy-danh-sách-huyện-trong-một-tỉnh)

```
use KhanhDuy\DanhmuchanhchinhvnMaps\Models\Province;

$province = Province::find(1);
$districts = $province->district;
```

#### Ví dụ: Lấy danh sách xã trong một huyện

[](#ví-dụ-lấy-danh-sách-xã-trong-một-huyện)

```
use KhanhDuy\DanhmuchanhchinhvnMaps\Models\District;

$district = District::find(1);
$wards = $district->ward;
```

### Lệnh Artisan

[](#lệnh-artisan)

Gói cung cấp hai lệnh Artisan để hỗ trợ cài đặt và nhập dữ liệu:

1. **Lệnh cài đặt**: Thiết lập gói và nhập dữ liệu hành chính.

    ```
    php artisan gso:install
    ```
2. **Lệnh nhập dữ liệu**: Tải xuống và nhập dữ liệu hành chính từ nguồn.

    ```
    php artisan gso:import
    ```

Cấu trúc thư mục
----------------

[](#cấu-trúc-thư-mục)

Dưới đây là cấu trúc thư mục chính của gói:

- `src/Models`: Chứa các mô hình Eloquent (`Province`, `District`, `Ward`) để quản lý dữ liệu hành chính.
- `src/Imports`: Xử lý logic nhập dữ liệu từ tệp Excel (`GSOImports`).
- `src/Helpers`: Chứa các lớp hỗ trợ, ví dụ như lớp tải tệp (`DownloadFile`).
- `src/Console/Commands`: Chứa các lệnh Artisan (`InstallCommand`, `ImportCommand`) hỗ trợ cài đặt và nhập dữ liệu.
- `database/migrations`: Chứa các file migration để tạo bảng cơ sở dữ liệu.
- `config/gso.php`: File cấu hình cho phép tùy chỉnh tên bảng và cột.

Tuỳ chỉnh thêm
--------------

[](#tuỳ-chỉnh-thêm)

Nếu bạn muốn tuỳ chỉnh sâu hơn (ví dụ: thêm cột, đổi tên quan hệ), bạn có thể:

1. **Chỉnh sửa file cấu hình**
2. **Mở rộng các mô hình Eloquent**

    ```
    namespace App\Models;

    use KhanhDuy\DanhmuchanhchinhvnMaps\Models\Province as BaseProvince;

    class Province extends BaseProvince
    {
        public function customRelation()
        {
            return $this->hasMany(SomeOtherModel::class);
        }
    }
    ```
3. **Tuỳ chỉnh migration**: sau khi publish migration, chỉnh sửa trong `database/migrations`.

Xử lý lỗi thường gặp
--------------------

[](#xử-lý-lỗi-thường-gặp)

- ❗ **Không import được dữ liệu**→ Kiểm tra kết nối internet và đảm bảo file Excel từ Tổng Cục Thống Kê vẫn còn tồn tại.
- ❗ **Thiếu table/cột khi migrate**→ Đảm bảo bạn đã chạy `php artisan migrate` sau khi publish migration.

Góp ý và đóng góp
-----------------

[](#góp-ý-và-đóng-góp)

Gói thư viện này **mở mã nguồn và chào đón đóng góp**!

Bạn có thể:

- Mở issue trên [GitHub repository](https://github.com/khanh-duy/danhmuchanhchinhvn-maps) (nếu có)
- Gửi pull request để cải thiện code
- Hoặc gửi email góp ý: ****

Giấy phép
---------

[](#giấy-phép)

Dự án này được phát hành theo giấy phép **MIT License**. Bạn có thể tự do sử dụng cho mục đích cá nhân hoặc thương mại.

Liên hệ
-------

[](#liên-hệ)

- 📧 **Email:**
- 🌐 **GitHub:** [devcontainerDuy](https://github.com/devcontainerDuy)

🎉 **Cảm ơn bạn đã sử dụng Danhmuchanhchinhvn Maps!**Nếu thấy hữu ích, hãy ⭐ dự án trên GitHub nhé!

###  Health Score

30

—

LowBetter than 64% of packages

Maintenance50

Moderate activity, may be stable

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity50

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~11 days

Total

2

Last Release

364d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/76f7c7e560acc0b573d9ad7940ad71e687d8f0ab3f670262e7b8cfc9b7412cdc?d=identicon)[devcontainerDuy](/maintainers/devcontainerDuy)

---

Top Contributors

[![devcontainerDuy](https://avatars.githubusercontent.com/u/125916124?v=4)](https://github.com/devcontainerDuy "devcontainerDuy (14 commits)")

---

Tags

laravelmapsdanhmuchanhchinhvn

### Embed Badge

![Health badge](/badges/khanh-duy-danhmuchanhchinhvn-maps/health.svg)

```
[![Health](https://phpackages.com/badges/khanh-duy-danhmuchanhchinhvn-maps/health.svg)](https://phpackages.com/packages/khanh-duy-danhmuchanhchinhvn-maps)
```

###  Alternatives

[barryvdh/laravel-ide-helper

Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.

14.9k123.0M687](/packages/barryvdh-laravel-ide-helper)[spatie/laravel-health

Monitor the health of a Laravel application

85810.0M83](/packages/spatie-laravel-health)[spatie/laravel-enum

Laravel Enum support

3655.4M31](/packages/spatie-laravel-enum)[roots/acorn

Framework for Roots WordPress projects built with Laravel components.

9682.1M97](/packages/roots-acorn)[aedart/athenaeum

Athenaeum is a mono repository; a collection of various PHP packages

255.2k](/packages/aedart-athenaeum)[glhd/conveyor-belt

14797.0k](/packages/glhd-conveyor-belt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
