Laravel-Countries, is a package that contains everything you need to start a new project and have all countries, information and translations on hand. And all this optimized for Laravel 8 and 9.
The package provides all data directly to your database, allowing you to link to any other table in your database, in a simple and usual way.
Amongst many other information you'll be able to plot country maps:
Language |
---|
English |
Portuguese |
Spanish |
Italian |
-
PHP >= ^7.3 | ^8.0
-
laravel/framework >= ^8.12|^9.0
-
dimsav/laravel-translatable >= ^11.8
You can install the package via composer:
composer require lwwcas/laravel-countries
composer dump-autoload
- Put this line into database\seeds\DatabaseSeeder.php in run function
$this->call(\Lwwcas\LaravelCountries\Database\Seeders\LcDatabaseSeeder::class);
- Run migrations
php artisan migrate
- Run seeds or only the LcDatabaseSeeder class
php artisan db:seed
You can access all the information in the database with a simple query
use Lwwcas\LaravelCountries\Models\Country;
Country::whereIso('BR')->first();
Country::whereIsoAlpha3('BRA')->first();
Country::whereSlug('brasil')->first();
In your table you can simply add the foreign key.
Only this will allow you to make a relationship with the country table
$table->integer('lc_country_id')->unsigned();
Being optional, but strongly recommended, you should use the Foreign Key Constraints that Laravel provides.
$table->foreign('lc_country_id')->references('id')->on('lc_countries');
$table->tinyInteger('lc_region_id')->unsigned();
$table->foreign('lc_region_id')->references('id')->on('lc_regions');
{
"id": 30,
"lc_region_id": 2,
"uuid": "343d2082-f6fb-42e6-ac7a-f78dad39de31",
"slug": "brazil",
"name": "Brazil",
"official_name": "Federative Republic of Brazil",
"iso_alpha_2": "BR",
"iso_alpha_3": "BRA",
"iso_numeric": 76,
"geoname_id": "3469034",
"international_phone": "55",
"languages": "[pt]",
"tld": "[.br]",
"wmo": "BZ",
"emoji": {
"img": "🇧🇷",
"uCode": "U+1F1E7 U+1F1F7"
},
"color_hex": [
"#008000",
"#ffff00"
],
"color_rgb": [
"0,128,0",
"255,255,0"
],
"coordinates": {
"latitude": {
"classic": "10 00 S",
"desc": "-10.81045150756836"
},
"longitude": {
"classic": "55 00 W",
"desc": "-52.97311782836914"
}
},
"coordinates_limit": {
"latitude": {
"max": "5.266667",
"min": "-33.733333"
},
"longitude": {
"max": "-28.85",
"min": "-73.75"
}
},
"visible": true,
"translations": [
{
"id": 30,
"lc_country_id": 30,
"name": "Brazil",
"slug": "brazil",
"locale": "en"
}
]
}
composer test
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.