Database đơn vị hành chính Việt Nam cho Laravel

Cập nhật ngày 01/01/2022
Dữ liệu này được mình trích xuất trực tiếp từ trang web của Tổng cụ thống kê Việt Nam: https://www.gso.gov.vn/dmhc2015/
Tuy nhiên, đến thời điểm hiện tại, thì dữ liệu này đã bị gỡ bỏ khỏi trang web của Tổng Cục Thống Kê Việt Nam, do đó dữ liệu sẽ không được cập nhật nữa, các bạn cần lưu ý!!!

Xin chào các bạn, hôm nay mình xin chia sẽ với các bạn cơ sỡ dữ liệu đơn vị hành chính của Việt Nam: Tỉnh/Thành phố, Quận/Huyện, Phường/Xã cho Laravel

Đây là lần đầu tiên mình viết bài lên đây, có thể không được hay lắm thì mong các bạn thông cảm :)

Giới thiệu

Hôm trước mình có làm một dự án cần lấy dữ liệu về đơn vị hành chính của Việt Nam, do đó mình đã đóng gói lại thành package cho Laravel và chia sẽ cho mọi người.

Package này có gì:

  • Data được trích xuất trực tiếp từ Tổng Cục Thống Kê cho nên các bạn yên tâm về độ chính xác và dữ liệu luôn luôn được cập nhật mới nhất.
  • Cài đặt nhanh gọn.
  • Hỗ trợ Laravel 5.8 trở lên.

Link em nó đây: https://github.com/kjmtrue/vietnam-zone

Cài đặt

Cài đặt thông qua composer:

1
composer require kjmtrue/vietnam-zone

Copy file config và migration

1
php artisan vendor:publish --provider="Kjmtrue\VietnamZone\ServiceProvider"

Nếu bạn không cần tùy biến CSDL thì có thể bỏ qua bước này và qua phần Import dữ liệu

Tùy biến CSDL

Nếu các bạn muốn tùy chỉnh cấu trúc của bảng CSDL cho dự án của mình thì làm như sau:

Đổi tên bảng

Mở file config/vietnam-zone.php lên và thay đổi phần tables:

1
2
3
4
5
'tables' => [
'provinces' => 'provinces',
'districts' => 'districts',
'wards' => 'wards',
],

Đổi tên cột

Mở file config/vietnam-zone.php lên và thay đổi phần columns:

1
2
3
4
5
6
'columns' => [
'name' => 'name',
'gso_id' => 'gso_id',
'province_id' => 'province_id',
'district_id' => 'district_id',
],

Trong đó gso_id không phải là ID ngẫu nhiên hay tăng dần mà đó là mã địa giới chính thức được ban hành theo quyết định số 124/2004/QĐ-TTg của chính phủ vào ngày 08/7/2004.
Cột này sẽ được dùng để tham chiếu cho những lần cập nhật dữ liệu sau này.

province_iddistrict_id là cột khóa ngoại.

Thêm cột

Mở các file migration sau và tuỳ chỉnh theo ý thích:

1
2
3
database/migrations/2020_01_01_000001_create_provinces_table.php
database/migrations/2020_01_01_000002_create_districts_table.php
database/migrations/2020_01_01_000003_create_wards_table.php

Import dữ liệu

Chạy lệnh migrate để thực hiện việc tạo bảng.

1
php artisan migrate

Cuối cùng là download và import dữ liệu vào bằng lệnh sau:

1
php artisan vietnamzone:download

Tổng kết

Trên đây là bài chia sẽ của mình, bạn nào có thắc mắc hoặc có yêu cầu để mình bổ xung vào thư viện thì hãy comment cho mình biết bên dưới nha.
Anh em nào đi qua thấy hay thì cho mình xin một sao để lấy động lức update tiếp nha.

Cảm ơn các bạn đã dành thời gian ủng hộ bài viết của mình!

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×