PHP code example of hitech / indonesia-laravel

1. Go to this page and download the library: Download hitech/indonesia-laravel library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

hitech / indonesia-laravel example snippets


return [
    // Prefix untuk nama tabel
    'table_prefix' => 'indonesia_',
    
    // Pattern bahasa: 'ID' untuk Indonesia, 'EN' untuk English
    'pattern' => 'ID',
    
    // Enable/disable setiap modul
    'data_location' => [
        'province' => true,
        'city' => true,
        'district' => true,
        'village' => true,

        // Filter berdasarkan wilayah induk (opsional)
        'only' => [
            'type' => '', // Bisa: province, city, district, villages
            'code' => '', // Kode wilayah sesuai tipe di atas bisa lihat kodenya disini (https://kodewilayah.id)
        ],
    ],
];

use Hitech\IndonesiaLaravel\Services\IndonesiaService;

$indonesia = new IndonesiaService();

// Pencarian di semua wilayah
$results = $indonesia->search('Jakarta')->all();

// Mendapatkan semua provinsi
$provinces = $indonesia->allProvinces();

// Pencarian provinsi dengan pagination
$provinces = $indonesia->search('Jawa')->paginateProvinces(10);

// Mendapatkan provinsi dengan relasi
$province = $indonesia->findProvince(1, ['cities', 'villages']);

// Mendapatkan kota berdasarkan provinsi
$cities = $indonesia->findCitiesByProvince(1);

// Mendapatkan kecamatan berdasarkan kota
$districts = $indonesia->findDistrictsByCity(1);

// Mendapatkan desa berdasarkan kecamatan
$villages = $indonesia->findVillagesByDistrict(1);

use Hitech\IndonesiaLaravel\Models\Province;
use Hitech\IndonesiaLaravel\Models\City;
use Hitech\IndonesiaLaravel\Models\District;
use Hitech\IndonesiaLaravel\Models\Village;

// Mendapatkan semua provinsi
$provinces = Province::all();

// Pencarian provinsi
$provinces = Province::search('Jawa')->get();

// Provinsi dengan kota-kotanya
$province = Province::with('cities')->find(1);

// Kota dengan kecamatan dan desa
$city = City::with('districts.villages')->find(1);

// Mendapatkan provinsi dari sebuah desa
$village = Village::with('district.city.province')->find(1);
$provinceName = $village->district->city->province->name;

// Mendapatkan semua desa dalam sebuah provinsi
$province = Province::with('cities.districts.villages')->find(1);
foreach ($province->cities as $city) {
    foreach ($city->districts as $district) {
        foreach ($district->villages as $village) {
            echo $village->name;
        }
    }
}

$indonesia = new IndonesiaService();

// Pencarian di semua level wilayah
$results = $indonesia->search('Bandung')->all();

// Pencarian spesifik per level
$provinces = $indonesia->search('Jawa')->allProvinces();
$cities = $indonesia->search('Jakarta')->allCities();
$districts = $indonesia->search('Kemang')->allDistricts();
$villages = $indonesia->search('Cipete')->allVillages();

$indonesia = new IndonesiaService();

// Pagination dengan pencarian
$provinces = $indonesia->search('Jawa')->paginateProvinces(15);
$cities = $indonesia->search('Jakarta')->paginateCities(20);
$districts = $indonesia->paginateDistricts(25);
$villages = $indonesia->paginateVillages(30);
bash
# Publish semua file
php artisan vendor:publish --provider="Hitech\IndonesiaLaravel\Providers\IndonesiaLaravelServiceProvider"

# Atau publish secara terpisah
php artisan vendor:publish --tag=config
php artisan vendor:publish --tag=migrations
bash
php artisan migrate
bash
php artisan indonesia:seed
bash
# Seed database dengan data Indonesia
php artisan indonesia:seed

# Publish konfigurasi
php artisan vendor:publish --tag=config

# Publish migrations
php artisan vendor:publish --tag=migrations