lemonpatwari/bangladeshgeocode

A Laravel package for Bangladesh geolocation with divisions, districts, upazilas, and unions.

Maintainers

Package info

github.com/lemonpatwari/laravel-bangladesh-geocode

pkg:composer/lemonpatwari/bangladeshgeocode

Statistics

Installs: 540

Dependents: 0

Suggesters: 0

Stars: 12

Open Issues: 0

v3.2 2026-03-05 16:11 UTC

This package is auto-updated.

Last update: 2026-03-05 16:15:49 UTC


README

Division, District, Upazila/Thana and Union data for Laravel applications. Migrations and seeders are included so you can publish them to your app, migrate the database and run the seeders.

Contributions, issues and pull requests are welcome.

Total Downloads Packagist License Latest Stable Version GitHub stars GitHub forks

Current stable: v3.2

Requirements

  • PHP 8.0+
  • Laravel (see compatibility table below)

Laravel Version Compatibility

Laravel Package
5.5.x 0.4.x
5.6.x 0.4.x
5.7.x 0.4.x
5.8.x 0.4.x
6.x.x 0.4.x
7.x.x 0.4.x
8.x.x 0.5.x
12.x.x 3.0.0.x / 3.2

Installation

Install the package with Composer:

composer require lemonpatwari/bangladeshgeocode

The package supports Laravel's package auto-discovery, so you normally don't need to register the service provider manually.

Manual registration (if you disabled auto-discovery)

Add the provider to your config/app.php providers array:

lemonpatwari\bangladeshgeocode\BangladeshGeocodeServiceProvider::class,

Publishing migrations & seeders

This package provides migrations and seeders in its database folder. There are two publish tags available:

  • lp-bangladesh-geocode-migrations — publishes migrations
  • lp-bangladesh-geocode-seeders — publishes seeders

Publish them individually:

php artisan vendor:publish --provider="lemonpatwari\bangladeshgeocode\BangladeshGeocodeServiceProvider" --tag="lp-bangladesh-geocode-migrations"
php artisan vendor:publish --provider="lemonpatwari\bangladeshgeocode\BangladeshGeocodeServiceProvider" --tag="lp-bangladesh-geocode-seeders"

Or publish both (force to overwrite existing files if needed):

php artisan vendor:publish --provider="lemonpatwari\bangladeshgeocode\BangladeshGeocodeServiceProvider" --force

The package also provides a convenience artisan command to publish migrations and seeders in one step:

php artisan geolocation:install

After publishing, run the migrations and seeders:

php artisan migrate
composer dump-autoload
php artisan db:seed --class=DivisionSeeder
php artisan db:seed --class=DistrictSeeder
php artisan db:seed --class=ThanaSeeder
php artisan db:seed --class=UnionSeeder

Usage

Models are available under the lemonpatwari\bangladeshgeocode\Models namespace. Example:

use lemonpatwari\bangladeshgeocode\Models\Division;
use lemonpatwari\bangladeshgeocode\Models\District;
use lemonpatwari\bangladeshgeocode\Models\Thana;
use lemonpatwari\bangladeshgeocode\Models\Union;

$divisions = Division::all();
$districts = District::all();
$thanas = Thana::all();
$unions = Union::all();

// Eager loading relations
$divisions = Division::with('districts')->get(); // Division hasMany District
$districts = District::with('division','thanas')->get(); // District belongsTo Division and hasMany Thana
$thanas = Thana::with('district','unions')->get(); // Thana belongsTo District and hasMany Union

$district = District::find(1);
$thanas = $district->thanas;

// Use any standard Eloquent methods

Model fields

Each model exposes fillable fields (examples):

  • Division: country_id, name, bn_name, status, latitude, longitude, url
  • District: name, bn_name, lat, lon, url, status, division_id, latitude,longitude
  • Thana: name, bn_name, url, status, district_id, latitude, longitude
  • Union: name, bn_name, url, status, thana_id,latitude, longitude

Security

If you discover security issues, please email lemonpatwari@gmail.com or hello@lemonpatwari.com rather than opening a public issue.

Credits

License

The MIT License (MIT). See the LICENSE.md file for details.