tomatophp/filament-locations

Database Seeds for Countries / Cities / Areas / Languages / Currancy with ready to use resources for FilamentPHP
24,283 23
Install
composer require tomatophp/filament-locations
Latest Version:5.0.0
PHP:^8.2
License:MIT
Last Updated:Sep 14, 2026
Links: GitHub  ·  Packagist
Maintainer: fadymondy

Screenshot

Filament Locations

Dependabot Updates PHP Code Styling Tests Latest Stable Version License Downloads

A database of countries, cities, area, languages, currenacy with json base and database base for FilamentPHP

Version Compatibility

Plugin Filament Laravel PHP
5.x 5.x 12.x - 13.x 8.2+
4.x 4.x 11.x - 12.x 8.2+
2.x 3.x 10.x - 11.x 8.1+

Screenshots

Countries Countries Dark View Country View Country Dark Languages Currencies Locations Location Settings Location Settings Dark

Installation

composer require tomatophp/filament-locations

The package uses Filament Settings Hub for the location settings page, so install it first if it is not installed yet (php artisan filament-settings-hub:install).

after install your package please run this command

php artisan filament-locations:install

finally reigster the plugin on /app/Providers/Filament/AdminPanelProvider.php

->plugin(\TomatoPHP\FilamentLocations\FilamentLocationsPlugin::make())

Disable Setting Hub

to disable the setting hub you can use this method

->plugin(\TomatoPHP\FilamentLocations\FilamentLocationsPlugin::make()->settingsHub(false))

Disable Resources

to disable the resources you can use this method

->plugin(
\TomatoPHP\FilamentLocations\FilamentLocationsPlugin::make()
    ->countries(false)
    ->languages(false)
    ->currency(false)
    ->locations(false)
)

Use Database Driver

to use database driver or if you don't have "sqlite" on your app, you can change the driver on config to "database" first publish the config

php artisan vendor:publish --tag="filament-locations-config"

after that go to config/filament-locations.php and change the driver to "database"

    'driver' => 'database'

now you need to run migration

php artisan migrate

now load the data to seeder

php artisan filament-locations:seed

and the full data will be migrated to your database

Use Custom JSON Files

if you like to use your json data files it's easy you can just change the path of json on your config file with the matched json schema

    'driver' => 'json',
    
    'json' => [
        'countries' => base_path('resources/json/countries.json'),
        'cities' => base_path('resources/json/cities.json'),
        'areas' => base_path('resources/json/areas.json'),
        'languages' => base_path('resources/json/languages.json'),
        'currencies' => base_path('resources/json/currencies.json'),
    ],

Currency Helper

we have ready to use helper to convert the money amount to the currency symbol

dollar($amount) // Output $100.00

Publish Assets

you can publish config file by use this command

php artisan vendor:publish --tag="filament-locations-config"

you can publish views file by use this command

php artisan vendor:publish --tag="filament-locations-views"

you can publish languages file by use this command

php artisan vendor:publish --tag="filament-locations-lang"

you can publish migrations file by use this command

php artisan vendor:publish --tag="filament-locations-migrations"

Other Filament Packages

Checkout our Awesome TomatoPHP

Related Packages

epigra/trgeozones

Türkiye İl İlçe Semt Muhit Mahalle ve Posta Kodları Laravel Paketi. Adds Turkish...

21,648 91
tomatophp/filament-alerts

Send notification to users using notification templates and multi notification c...

12,549 82
nevadskiy/laravel-geonames

Populate your database using the GeoNames service.

17,989 27
marcogermani87/filament-cookie-consent

Easy cookie consent integrations for Filament

17,842 19