Join WhatsApp ChannelJoin Now

Laravel Add Country List

Hi Dev,

Today, i we will show you laravel add country list. This article will give you simple example of laravel add country list. you will learn laravel add country list. So let’s follow few step to create example of laravel add country list.

Laravel Add Country List

Step 1: Install Laravel

composer create-project --prefer-dist laravel/laravel blog

Step 2: Create Seeder and Country Model

create migration for countries table.

php artisan make:migration create_countries_table

database/migrations/your_migtion_file.php

<?php
  
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
  
class CreateCountriesTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('countries', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('code');
            $table->timestamps();
        });
    }
  
    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('countries');
    }
}

run migration:

php artisan migrate

app/Models/Country.php

<?php
  
namespace App\Models;
  
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
  
class Country extends Model
{
    use HasFactory;
  
    protected $fillable = [
        'name', 'code'
    ];
}

Step 3: Create Seeder

Create Seeder with bellow command

php artisan make:seeder CountrySeeder
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use App\Models\Country;
class CountrySeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
Country::truncate();
$countries = [
['name' => 'Afghanistan', 'code' => 'AF'],
['name' => 'Åland Islands', 'code' => 'AX'],
['name' => 'Albania', 'code' => 'AL'],
['name' => 'Algeria', 'code' => 'DZ'],
['name' => 'American Samoa', 'code' => 'AS'],
['name' => 'Andorra', 'code' => 'AD'],
['name' => 'Angola', 'code' => 'AO'],
['name' => 'Anguilla', 'code' => 'AI'],
['name' => 'Antarctica', 'code' => 'AQ'],
['name' => 'Antigua and Barbuda', 'code' => 'AG'],
['name' => 'Argentina', 'code' => 'AR'],
['name' => 'Armenia', 'code' => 'AM'],
['name' => 'Aruba', 'code' => 'AW'],
['name' => 'Australia', 'code' => 'AU'],
['name' => 'Austria', 'code' => 'AT'],
['name' => 'Azerbaijan', 'code' => 'AZ'],
['name' => 'Bahamas', 'code' => 'BS'],
['name' => 'Bahrain', 'code' => 'BH'],
['name' => 'Bangladesh', 'code' => 'BD'],
['name' => 'Barbados', 'code' => 'BB'],
['name' => 'Belarus', 'code' => 'BY'],
['name' => 'Belgium', 'code' => 'BE'],
['name' => 'Belize', 'code' => 'BZ'],
['name' => 'Benin', 'code' => 'BJ'],
['name' => 'Bermuda', 'code' => 'BM'],
['name' => 'Bhutan', 'code' => 'BT'],
['name' => 'Bolivia, Plurinational State of', 'code' => 'BO'],
['name' => 'Bonaire, Sint Eustatius and Saba', 'code' => 'BQ'],
['name' => 'Bosnia and Herzegovina', 'code' => 'BA'],
['name' => 'Botswana', 'code' => 'BW'],
['name' => 'Bouvet Island', 'code' => 'BV'],
['name' => 'Brazil', 'code' => 'BR'],
['name' => 'British Indian Ocean Territory', 'code' => 'IO'],
['name' => 'Brunei Darussalam', 'code' => 'BN'],
['name' => 'Bulgaria', 'code' => 'BG'],
['name' => 'Burkina Faso', 'code' => 'BF'],
['name' => 'Burundi', 'code' => 'BI'],
['name' => 'Cambodia', 'code' => 'KH'],
['name' => 'Cameroon', 'code' => 'CM'],
['name' => 'Canada', 'code' => 'CA'],
['name' => 'Cape Verde', 'code' => 'CV'],
['name' => 'Cayman Islands', 'code' => 'KY'],
['name' => 'Central African Republic', 'code' => 'CF'],
['name' => 'Chad', 'code' => 'TD'],
['name' => 'Chile', 'code' => 'CL'],
['name' => 'China', 'code' => 'CN'],
['name' => 'Christmas Island', 'code' => 'CX'],
['name' => 'Cocos (Keeling) Islands', 'code' => 'CC'],
['name' => 'Colombia', 'code' => 'CO'],
['name' => 'Comoros', 'code' => 'KM'],
['name' => 'Congo', 'code' => 'CG'],
['name' => 'Congo, the Democratic Republic of the', 'code' => 'CD'],
['name' => 'Cook Islands', 'code' => 'CK'],
['name' => 'Costa Rica', 'code' => 'CR'],
['name' => 'Côte d\'Ivoire', 'code' => 'CI'],
['name' => 'Croatia', 'code' => 'HR'],
['name' => 'Cuba', 'code' => 'CU'],
['name' => 'Curaçao', 'code' => 'CW'],
['name' => 'Cyprus', 'code' => 'CY'],
['name' => 'Czech Republic', 'code' => 'CZ'],
['name' => 'Denmark', 'code' => 'DK'],
['name' => 'Djibouti', 'code' => 'DJ'],
['name' => 'Dominica', 'code' => 'DM'],
['name' => 'Dominican Republic', 'code' => 'DO'],
['name' => 'Ecuador', 'code' => 'EC'],
['name' => 'Egypt', 'code' => 'EG'],
['name' => 'El Salvador', 'code' => 'SV'],
['name' => 'Equatorial Guinea', 'code' => 'GQ'],
['name' => 'Eritrea', 'code' => 'ER'],
['name' => 'Estonia', 'code' => 'EE'],
['name' => 'Ethiopia', 'code' => 'ET'],
['name' => 'Falkland Islands (Malvinas)', 'code' => 'FK'],
['name' => 'Faroe Islands', 'code' => 'FO'],
['name' => 'Fiji', 'code' => 'FJ'],
['name' => 'Finland', 'code' => 'FI'],
['name' => 'France', 'code' => 'FR'],
['name' => 'French Guiana', 'code' => 'GF'],
['name' => 'French Polynesia', 'code' => 'PF'],
['name' => 'French Southern Territories', 'code' => 'TF'],
['name' => 'Gabon', 'code' => 'GA'],
['name' => 'Gambia', 'code' => 'GM'],
['name' => 'Georgia', 'code' => 'GE'],
['name' => 'Germany', 'code' => 'DE'],
['name' => 'Ghana', 'code' => 'GH'],
['name' => 'Gibraltar', 'code' => 'GI'],
['name' => 'Greece', 'code' => 'GR'],
['name' => 'Greenland', 'code' => 'GL'],
['name' => 'Grenada', 'code' => 'GD'],
['name' => 'Guadeloupe', 'code' => 'GP'],
['name' => 'Guam', 'code' => 'GU'],
['name' => 'Guatemala', 'code' => 'GT'],
['name' => 'Guernsey', 'code' => 'GG'],
['name' => 'Guinea', 'code' => 'GN'],
['name' => 'Guinea-Bissau', 'code' => 'GW'],
['name' => 'Guyana', 'code' => 'GY'],
['name' => 'Haiti', 'code' => 'HT'],
['name' => 'Heard Island and McDonald Mcdonald Islands', 'code' => 'HM'],
['name' => 'Holy See (Vatican City State)', 'code' => 'VA'],
['name' => 'Honduras', 'code' => 'HN'],
['name' => 'Hong Kong', 'code' => 'HK'],
['name' => 'Hungary', 'code' => 'HU'],
['name' => 'Iceland', 'code' => 'IS'],
['name' => 'India', 'code' => 'IN'],
['name' => 'Indonesia', 'code' => 'ID'],
['name' => 'Iran, Islamic Republic of', 'code' => 'IR'],
['name' => 'Iraq', 'code' => 'IQ'],
['name' => 'Ireland', 'code' => 'IE'],
['name' => 'Isle of Man', 'code' => 'IM'],
['name' => 'Israel', 'code' => 'IL'],
['name' => 'Italy', 'code' => 'IT'],
['name' => 'Jamaica', 'code' => 'JM'],
['name' => 'Japan', 'code' => 'JP'],
['name' => 'Jersey', 'code' => 'JE'],
['name' => 'Jordan', 'code' => 'JO'],
['name' => 'Kazakhstan', 'code' => 'KZ'],
['name' => 'Kenya', 'code' => 'KE'],
['name' => 'Kiribati', 'code' => 'KI'],
['name' => 'Korea, Democratic People\'s Republic of', 'code' => 'KP'],
['name' => 'Korea, Republic of', 'code' => 'KR'],
['name' => 'Kuwait', 'code' => 'KW'],
['name' => 'Kyrgyzstan', 'code' => 'KG'],
['name' => 'Lao People\'s Democratic Republic', 'code' => 'LA'],
['name' => 'Latvia', 'code' => 'LV'],
['name' => 'Lebanon', 'code' => 'LB'],
['name' => 'Lesotho', 'code' => 'LS'],
['name' => 'Liberia', 'code' => 'LR'],
['name' => 'Libya', 'code' => 'LY'],
['name' => 'Liechtenstein', 'code' => 'LI'],
['name' => 'Lithuania', 'code' => 'LT'],
['name' => 'Luxembourg', 'code' => 'LU'],
['name' => 'Macao', 'code' => 'MO'],
['name' => 'Macedonia, the Former Yugoslav Republic of', 'code' => 'MK'],
['name' => 'Madagascar', 'code' => 'MG'],
['name' => 'Malawi', 'code' => 'MW'],
['name' => 'Malaysia', 'code' => 'MY'],
['name' => 'Maldives', 'code' => 'MV'],
['name' => 'Mali', 'code' => 'ML'],
['name' => 'Malta', 'code' => 'MT'],
['name' => 'Marshall Islands', 'code' => 'MH'],
['name' => 'Martinique', 'code' => 'MQ'],
['name' => 'Mauritania', 'code' => 'MR'],
['name' => 'Mauritius', 'code' => 'MU'],
['name' => 'Mayotte', 'code' => 'YT'],
['name' => 'Mexico', 'code' => 'MX'],
['name' => 'Micronesia, Federated States of', 'code' => 'FM'],
['name' => 'Moldova, Republic of', 'code' => 'MD'],
['name' => 'Monaco', 'code' => 'MC'],
['name' => 'Mongolia', 'code' => 'MN'],
['name' => 'Montenegro', 'code' => 'ME'],
['name' => 'Montserrat', 'code' => 'MS'],
['name' => 'Morocco', 'code' => 'MA'],
['name' => 'Mozambique', 'code' => 'MZ'],
['name' => 'Myanmar', 'code' => 'MM'],
['name' => 'Namibia', 'code' => 'NA'],
['name' => 'Nauru', 'code' => 'NR'],
['name' => 'Nepal', 'code' => 'NP'],
['name' => 'Netherlands', 'code' => 'NL'],
['name' => 'New Caledonia', 'code' => 'NC'],
['name' => 'New Zealand', 'code' => 'NZ'],
['name' => 'Nicaragua', 'code' => 'NI'],
['name' => 'Niger', 'code' => 'NE'],
['name' => 'Nigeria', 'code' => 'NG'],
['name' => 'Niue', 'code' => 'NU'],
['name' => 'Norfolk Island', 'code' => 'NF'],
['name' => 'Northern Mariana Islands', 'code' => 'MP'],
['name' => 'Norway', 'code' => 'NO'],
['name' => 'Oman', 'code' => 'OM'],
['name' => 'Pakistan', 'code' => 'PK'],
['name' => 'Palau', 'code' => 'PW'],
['name' => 'Palestine, State of', 'code' => 'PS'],
['name' => 'Panama', 'code' => 'PA'],
['name' => 'Papua New Guinea', 'code' => 'PG'],
['name' => 'Paraguay', 'code' => 'PY'],
['name' => 'Peru', 'code' => 'PE'],
['name' => 'Philippines', 'code' => 'PH'],
['name' => 'Pitcairn', 'code' => 'PN'],
['name' => 'Poland', 'code' => 'PL'],
['name' => 'Portugal', 'code' => 'PT'],
['name' => 'Puerto Rico', 'code' => 'PR'],
['name' => 'Qatar', 'code' => 'QA'],
['name' => 'Réunion', 'code' => 'RE'],
['name' => 'Romania', 'code' => 'RO'],
['name' => 'Russian Federation', 'code' => 'RU'],
['name' => 'Rwanda', 'code' => 'RW'],
['name' => 'Saint Barthélemy', 'code' => 'BL'],
['name' => 'Saint Helena, Ascension and Tristan da Cunha', 'code' => 'SH'],
['name' => 'Saint Kitts and Nevis', 'code' => 'KN'],
['name' => 'Saint Lucia', 'code' => 'LC'],
['name' => 'Saint Martin (French part)', 'code' => 'MF'],
['name' => 'Saint Pierre and Miquelon', 'code' => 'PM'],
['name' => 'Saint Vincent and the Grenadines', 'code' => 'VC'],
['name' => 'Samoa', 'code' => 'WS'],
['name' => 'San Marino', 'code' => 'SM'],
['name' => 'Sao Tome and Principe', 'code' => 'ST'],
['name' => 'Saudi Arabia', 'code' => 'SA'],
['name' => 'Senegal', 'code' => 'SN'],
['name' => 'Serbia', 'code' => 'RS'],
['name' => 'Seychelles', 'code' => 'SC'],
['name' => 'Sierra Leone', 'code' => 'SL'],
['name' => 'Singapore', 'code' => 'SG'],
['name' => 'Sint Maarten (Dutch part)', 'code' => 'SX'],
['name' => 'Slovakia', 'code' => 'SK'],
['name' => 'Slovenia', 'code' => 'SI'],
['name' => 'Solomon Islands', 'code' => 'SB'],
['name' => 'Somalia', 'code' => 'SO'],
['name' => 'South Africa', 'code' => 'ZA'],
['name' => 'South Georgia and the South Sandwich Islands', 'code' => 'GS'],
['name' => 'South Sudan', 'code' => 'SS'],
['name' => 'Spain', 'code' => 'ES'],
['name' => 'Sri Lanka', 'code' => 'LK'],
['name' => 'Sudan', 'code' => 'SD'],
['name' => 'Suriname', 'code' => 'SR'],
['name' => 'Svalbard and Jan Mayen', 'code' => 'SJ'],
['name' => 'Swaziland', 'code' => 'SZ'],
['name' => 'Sweden', 'code' => 'SE'],
['name' => 'Switzerland', 'code' => 'CH'],
['name' => 'Syrian Arab Republic', 'code' => 'SY'],
['name' => 'Taiwan', 'code' => 'TW'],
['name' => 'Tajikistan', 'code' => 'TJ'],
['name' => 'Tanzania, United Republic of', 'code' => 'TZ'],
['name' => 'Thailand', 'code' => 'TH'],
['name' => 'Timor-Leste', 'code' => 'TL'],
['name' => 'Togo', 'code' => 'TG'],
['name' => 'Tokelau', 'code' => 'TK'],
['name' => 'Tonga', 'code' => 'TO'],
['name' => 'Trinidad and Tobago', 'code' => 'TT'],
['name' => 'Tunisia', 'code' => 'TN'],
['name' => 'Turkey', 'code' => 'TR'],
['name' => 'Turkmenistan', 'code' => 'TM'],
['name' => 'Turks and Caicos Islands', 'code' => 'TC'],
['name' => 'Tuvalu', 'code' => 'TV'],
['name' => 'Uganda', 'code' => 'UG'],
['name' => 'Ukraine', 'code' => 'UA'],
['name' => 'United Arab Emirates', 'code' => 'AE'],
['name' => 'United Kingdom', 'code' => 'GB'],
['name' => 'United States', 'code' => 'US'],
['name' => 'United States Minor Outlying Islands', 'code' => 'UM'],
['name' => 'Uruguay', 'code' => 'UY'],
['name' => 'Uzbekistan', 'code' => 'UZ'],
['name' => 'Vanuatu', 'code' => 'VU'],
['name' => 'Venezuela, Bolivarian Republic of', 'code' => 'VE'],
['name' => 'Viet Nam', 'code' => 'VN'],
['name' => 'Virgin Islands, British', 'code' => 'VG'],
['name' => 'Virgin Islands, U.S.', 'code' => 'VI'],
['name' => 'Wallis and Futuna', 'code' => 'WF'],
['name' => 'Western Sahara', 'code' => 'EH'],
['name' => 'Yemen', 'code' => 'YE'],
['name' => 'Zambia', 'code' => 'ZM'],
['name' => 'Zimbabwe', 'code' => 'ZW'],
];
foreach ($countries as $key => $value) {
Country::create($value);
}
}
}

now let’s run seeder:

php artisan db:seed --class=CountrySeeder

Step 4: Create Route

routes/web.php

<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\CountryController;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('form', [CountryController::class, 'index']);

Step 5: Create Controller

app/Http/Controllers/CountryController.php

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Country;
class CountryController extends Controller
{
/**
* Write code on Method
*
* @return response()
*/
public function index()
{
$countries = Country::all();
return view('country',compact('countries'));
}
}

Step 5: Create Blade Files

resources/views/country.blade.php

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Laravel Add Country List - codeplaners</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-6 mx-auto">
<div class="card">
<div class="card-body">
<div class="mb-3">
<h2>Registration</h2>
</div>
<div class="mb-3">
<label for="name" class="form-label">Name:</label>
<input type="text" class="form-control" id="name" aria-describedby="emailHelp">
</div>
<div class="mb-3">
<label for="exampleInputEmail1" class="form-label">Email:</label>
<input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
</div>
<div class="mb-3">
<label for="password" class="form-label">Password:</label>
<input type="password" class="form-control" id="password" aria-describedby="emailHelp">
</div>
<div class="mb-3">
<label for="password" class="form-label">Select Country:</label>
<select class="form-select">
@foreach ($countries as $country)
<option value="{{$country->id}}">{{$country->name}} - {{$country->code}}</option>
@endforeach
</select>
</div>
<div class="mb-3">
<button class="btn btn-success">Submit</button>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

run example

php artisan serve

Recommended Posts