Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Laravel Countries

Laravel Countries Laravel Package

woodsandwalker/laravel-countries

Laravel Countries makes it easy to add country data to Laravel apps with migrations, Eloquent models, and helpers for querying countries by name or ISO code. Use it to populate select menus, validate country input, and build location-aware features without maintaining your own country list.

View on GitHub
Deep Wiki
Context7

At a glance

Frequently asked questions about Laravel Countries
How do I install woodsandwalker/laravel-countries in a Laravel app?
Install it with composer require woodsandwalker/laravel-countries, then publish the package assets so its config, migrations, and seeders are available to your app. Run php artisan migrate and the package seeder to populate the countries table, and register any facade or helper only if your version of the package requires it. Confirm the exact publish tags and seeder class names in the repository README before wiring it into CI.
Which Laravel and PHP versions does laravel-countries support?
The repository is the source of truth for the supported Laravel and PHP matrix, so check its composer.json constraints and CI configuration before committing. The package is a conventional service-provider package aimed at modern Laravel applications, but low maintenance activity means new Laravel majors may lag. Validate the constraints in a throwaway branch against your exact PHP and Laravel versions.
Does this package include states, cities, currencies, or timezones, or only countries?
The package's core purpose is country reference data, and it ships migrations, Eloquent models, and seeders for that data. The assessment notes that subdivisions, cities, currencies, timezones, translations, and postal codes are likely but must be confirmed against the repository. Inspect the published migrations and seeders before assuming any dataset beyond countries is present.
How do I query countries by name or ISO code with laravel-countries?
Use the package's Eloquent model and documented helper methods to look up countries by name or ISO code, which is the main convenience it adds over a raw table. For maintainability, wrap those calls in your own repository or service rather than scattering the package model through controllers and Blade templates. That keeps select-menu and validation lookups replaceable if you later swap datasets.
Will the laravel-countries migrations conflict with my existing countries table?
The package publishes migrations into the host application, so table names can collide with existing countries, states, or address tables. Review the published migration filenames and schema before running migrate, especially if you already have foreign keys pointing at a countries table. If a conflict exists, rename or adapt the package tables in a fork or isolate the data behind your own schema.
Do the laravel-countries seeders need to run on every deployment, and are they idempotent?
Seeders are intended to populate reference data, but you should confirm whether they are idempotent and whether they use updateOrCreate or plain inserts. Avoid running large seeders on every deploy; make population an explicit setup or release step, and never run them blindly against production without a backup and a rollback plan. For CI, seed once in the test setup rather than on each test case.
Can I use laravel-countries to validate country input in Laravel form requests?
Yes, a common use is validating a submitted country code against the package's countries table with an exists rule or a custom rule that checks the ISO code column. Keep the validation rule thin and resolve the country through your own repository contract so the rule does not depend directly on the package model. Also decide whether you accept alpha-2, alpha-3, or both, and normalize input before validating.
How do I keep country data up to date when ISO codes or names change?
Country data changes when ISO updates names, codes, or geopolitical status, and a package that only ships static seeders will age silently unless it provides a refresh command or updated releases. Check the upstream data source and the maintainer's update cadence before relying on it for regulated or customer-facing data. If freshness matters, plan to fork the dataset or import authoritative ISO data on your own schedule.
Can I use laravel-countries with SQLite in tests and MySQL or Postgres in production?
Because the package is standard Laravel migrations, models, and seeders, it should run on SQLite for tests and MySQL or Postgres in production, but you must verify seed runtime, row counts, collation, and encoding on your target database. SQLite can behave differently for case-insensitive lookups and indexes, so test the exact ISO and name queries you rely on. Also confirm the seeders are safe to run in a CI pipeline without requiring migrate:fresh.
Is laravel-countries production-ready, and what alternatives should I consider?
Treat it as a replaceable commodity data source: low stars, single-maintainer risk, and minimal external testing mean you should wrap it behind a CountryRepository contract returning plain DTOs. The MIT license lets you fork and self-maintain if it is abandoned, but that turns the dependency into an owned asset. Benchmark established options such as rinvex/countries, laravel-world, and Symfony Intl on data completeness, activity, and Laravel version support before selecting one.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
jinas/dhivatar
store-doc/laravel-storage-driver
plus-it/laravel-translation-manager
diephp/perhaps
diephp/telegraph
osmaviation/spreadsheet
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console