8 Division, 64 District, 491 Thana and 4541 Union fully mapped laravel package. Easy to install & config. All data is accessible from database using laravel eloquent ORM.
All information, content, and spelling have been taken from https://bangladesh.gov.bd
In order to install Bdgeocode, just run this command in your project:
composer require sandofvega/bdgeocode
- Publish models and migration file:
php artisan vendor:publish --provider="Sandofvega\Bdgeocode\BdgeocodeServiceProvider"
- Run artisan migrate command:
php artisan migrate
After the migration, four new tables will be present:
divisions
districts
thanas
unions
- Add Bdgeocode's seeder class to
database/seeds/DatabaseSeeder.php
:
use Sandofvega\Bdgeocode\Seeds\BdgeocodeSeeder;
class DatabaseSeeder extends Seeder
{
public function run()
{
$this->call(BdgeocodeSeeder::class);
//
}
}
Now you are ready. When you run the seed command (e.g. db:seed
or migrate:fresh --seed
) the Bdgeocode's data will be inserted into your database.
You can get all data by using those models. E.g:
use App\District;
$districts = District::all();
There are relations bitween models. E. g:
use App\District;
$district = District::first(); // A district
$division = $district->division // Division for a district
$thanas = $district->thanas // All thana in a district
- Note: There is one division for a district so the relation name is
division
(singular), notdivisions
. And there are many thanas in a district so the relation name isthanas
(plural), notthana
. You must follow this rule to call every relation.
Laravel Bangladesh Geocode is free software distributed under the terms of the MIT license.
We follow PSR-2 and PSR-4 PHP coding standards and Semantic Versioning.
Please report any issue you find. And pull requests are welcome.