centrex/laravel-countries

Countries database for laravel

Maintainers

Package info

github.com/centrex/laravel-countries

pkg:composer/centrex/laravel-countries

Statistics

Installs: 2 162

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0


README

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

A complete country database seeded from a JSON source. Provides an Eloquent Country model with support for listing and sorting by any country field, and lookup by country code.

Installation

composer require centrex/laravel-countries
php artisan vendor:publish --tag="laravel-countries-migrations"
php artisan migrate
php artisan db:seed --class="Centrex\LaravelCountries\Database\Seeders\CountrySeeder"

Usage

use Centrex\LaravelCountries\Models\Country;

// Get all countries
Country::all();

// Find by country code (ISO 3166-1)
Country::whereCountryCode('BD')->first();

// Get sorted list (sortable by: capital, citizenship, country-code, currency, ...)
$model = new Country();
$list = $model->getList('capital');   // sorted by capital city

// Get a single country by ID
$country = $model->getOne('BD');

Config

php artisan vendor:publish --tag="laravel-countries-config"
// config/countries.php
'table_name' => 'countries',

Used by laravel-addresses

This package is a dependency of laravel-addresses — the countries table provides the foreign key for address country validation.

Testing

composer test        # full suite
composer test:unit   # pest only
composer test:types  # phpstan
composer lint        # pint

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.