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.
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
-
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 lwwcas@gmail.com instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.