2017 © Pedro Peláez
 

library indoregion

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

image

azishapidin/indoregion

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  • Saturday, March 24, 2018
  • by azishapidin
  • Repository
  • 1 Watchers
  • 7 Stars
  • 33 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 7 Versions
  • 32 % Grown

The README.md

azishapidin/indoregion

Build Status StyleCI License Latest Stable Version Total Downloads, (*1)

azishapidin/indoregion adalah sebuah package Laravel untuk menyimpan data wilayah Indonesia mulai dari Provinsi, Kabupaten/Kota, Kecamatan/Distrik, sampai Desa/Kelurahan. Package akan menambahkan migrations, seeder (untuk import data ke database) dan Model pada project Anda., (*2)

Semua data akan disimpan di database, untuk mengambil data tersebut sama dengan mengambil data lewat Model pada umum-nya (Lihat bagian Usage)., (*3)

Data ini diambil dari situs Pemutakhiran MFD dan MBS Badan Pusat Statistik (http://mfdonline.bps.go.id/) pada 11 Januari 2018. Sumber: https://github.com/edwardsamuel/Wilayah-Administratif-Indonesia, (*4)

Quick Instalation

Buka Command Line kemudian jalankan perintah dibawah untuk melakukan instalasi package:, (*5)

composer require azishapidin/indoregion

Register Service Provider

Laravel

Jika Anda menggunakan Laravel versi 5.5 keatas Anda bisa skip bagian ini karena package indoregion sudah menggunakan Package Auto Discovery., (*6)

Tapi jika kebetulan Project yang Anda kerjakan masih menggunakan versi dibawah 5.5 maka silahkan untuk membuka file config/app.php lalu tambahkan Class IndoRegionServiceProvider kedalam array Service Providers:, (*7)

// Provider Lain
AzisHapidin\IndoRegion\IndoRegionServiceProvider::class,

Lumen

Jika Anda ingin menggunakan Package ini pada project Lumen, maka Anda harus melakukan register Service Provider pada file bootstrap/app.php dengan menambahkan ini:, (*8)

$app->register(AzisHapidin\IndoRegion\IndoRegionServiceProvider::class);

Publish File

Jalankan perintah dibawah di Command Line:, (*9)

php artisan indoregion:publish

Saat perintah diatas dijalankan, indoregion akan menyalin:, (*10)

  • Files migration dari /packages/azishapidin/indoregion/src/database/migrations ke /database/migrations
  • Files seeder dari /packages/azishapidin/indoregion/src/database/seeds ke /database/seeds
  • Files model dari /packages/azishapidin/indoregion/src/database/models ke /app/Models

Setelah itu jalankan perintah dibawah:, (*11)

composer dump-autoload

Migrate and Seeder

Jalankan perintah dibawah untuk menjalankan migration dan seeder:, (*12)

php artisan migrate

# Import semua data dari Provinsi sampai Kelurahan sekaligus
php artisan db:seed --class=IndoRegionSeeder      # Import data Provinsi, Kota/Kabupaten, Kecamatan/Distrik dan Desa/Kelurahan

# Anda juga bisa melakukan Import data satu per satu, mulai dari Provinsi sampai Kelurahan
php artisan db:seed --class=IndoRegionProvinceSeeder      # Import data provinsi
php artisan db:seed --class=IndoRegionRegencySeeder       # Import data kota/kabupaten
php artisan db:seed --class=IndoRegionDistrictSeeder      # Import data kecamatan/distrik
php artisan db:seed --class=IndoRegionVillageSeeder       # Import data desa/kelurahan

Basic Usage

Anda bisa gunakan class dibawah seperti model pada umum-nya., (*13)

<?php

use App\Models\Province;
use App\Models\Regency;
use App\Models\District;
use App\Models\Village;

// Get semua data
$provinces = Province::all();
$regencies = Regency::all();
$districts = District::all();
$villages = Village::all();

// Cari berdasarkan nama
$provinces = Province::where('name', 'JAWA BARAT')->first();
$regencies = Regency::where('name', 'LIKE', '%CIANJUR%')->first();
$districts = District::where('name', 'LIKE', 'BANDUNG%')->get();
$villages = Village::where('name', 'BOJONGHERANG')->first();

Advance Usage

<?php

// Get Kecamatan dari sebuah Provinsi.
$districts = $province->districts;

// Cek jika provinsi memiliki kabupaten terkait menggunakan logika OR bedasarkan nama kabupaten.
$province->hasDistrictName(["SELAKAU TIMUR", "PEMANGKAT", "SEMPARUK", "JAWAK"]);

// Cek jika provinsi memiliki kabupaten terkait menggunakan logika AND bedasarkan nama kabupaten.
$province->hasDistrictName(["SELAKAU TIMUR", "PEMANGKAT", "SEMPARUK", "JAWAI"], true);

// Cek jika provinsi memiliki kabupaten terkait menggunakan logika OR bedasarkan id kabupaten.
$province->hasDistrictId([6101, 6102, 6103, 6104]);

// Cek jika provinsi memiliki kabupaten terkait menggunakan logika AND bedasarkan id kabupaten.
$province->hasDistrictId([6101, 6102, 6103, 6104], true);

// Get Kabupaten/Kota dari sebuah Provinsi
$regencies = $province->regencies;

// Get Kecamatan dari sebuah Kabupaten/Kota
$districts = $regency->districts;

// Get Desa/Kelurahan dari sebuah Kabupaten/Kota
$villages = $regency->villages;

// Cek jika kabupaten memiliki desa/kelurahan terkait menggunakan logika AND bedasarkan nama desa/kelurahan.
$regency->hasVillageName(["PARIT SETIA", "PELIMPAAN", "SEMPARUK"], true);

// Cek jika kabupaten memiliki desa/kelurahan terkait menggunakan logika AND bedasarkan id desa/kelurahan.
$regency->hasVillageId([6101050014, 6101040025, 6101060023, 6101020014]);

// Get Desa/Kelurahan dari sebuah Kecamatan
$villages = $district->villages;

// Cek Desa ada di sebuah Provinsi
$village->isProvince(61);

// Cek Desa ada di sebuah Kabupaten
$village->isRegency(6102);

// Cek Desa ada di sebuah Kecamatan
$village->isDistrict(6101050);

// Cek Kecamatan ada di sebuah Provinsi
$district->isProvince(61);

// Cek Kecamatan ada di sebuah Kabupaten
$village->isRegency(6102);

// Get Kabupaten dari sebuah Desa
$village->regency;

// Get Provinsi dari sebuah Desa
$village->province;

// Get Provinsi dari sebuah Kecamatan
$district->province;

The Versions

24/03 2018

dev-develop

dev-develop https://azishapidin.com/blog

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

24/03 2018

dev-master

9999999-dev https://azishapidin.com/blog

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

24/03 2018

0.8.3

0.8.3.0 https://azishapidin.com/blog

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

04/01 2018

0.8.2

0.8.2.0

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

04/01 2018

0.8.1

0.8.1.0

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

04/01 2018

0.7

0.7.0.0

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin

04/01 2018

0.8

0.8.0.0

Package containing region of Indonesia (provinces, regencies, districts, and villages) for Laravel

  Sources   Download

MIT License

The Requires

 

The Development Requires

by Azis Hapidin