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
Tomato Locations

Tomato Locations Laravel Package

tomatophp/tomato-locations

A Laravel package for managing geographic locations such as countries, states, cities, and areas. It ships with ready-made migrations, Eloquent models, and seeders, plus optional Filament admin integration, making it easy to add structured location data and dropdowns to your app.

View on GitHub
Deep Wiki
Context7

Database seeds for Locations plugin for TomatoPHP

Frequently asked questions about Tomato Locations
How do I install tomatophp/tomato-locations in a Laravel app?
Install it with Composer, then let Laravel package discovery register the service provider or publish it if needed. Publish the migrations and config, run migrate, and seed the bundled country, city, and area data. If you use the Tomato or Filament admin stack, wire in the admin resource as the final step. Expect roughly a half-day to two-day integration depending on how much of your own model relationship work you include.
Does Tomato Locations require Filament or the TomatoPHP admin panel?
The data layer is plain Eloquent, so the package's main coupling to Filament and TomatoPHP is the optional admin and CRUD integration. If you are already running that stack, the admin resources are useful; if not, you should confirm the data layer works standalone before adopting. Treat the Filament dependency as the part to validate first because it is the usual source of version breakage.
Which Laravel and PHP versions and database drivers does tomato-locations support?
The provided release notes do not include a documented support matrix for v1.2.5, so you should inspect composer.json constraints directly. Validate those constraints against your current runtime and your next Laravel upgrade target before committing. The intended deployment target is a currently supported Laravel application on MySQL 8 or PostgreSQL.
How should I seed countries, cities, and areas without slowing down deployments?
A full city and area dataset is a multi-minute, high-write-volume operation, so it belongs in a batched background job rather than a deploy hook or a migration up method. Run it deliberately in development and again as a controlled production step. This keeps deploys predictable and avoids turning routine releases into long database writes.
Where does the bundled location data come from and what license applies to it?
The origin, license, and refresh cadence of the bundled geographic dataset are not documented in the package information reviewed. For customer-facing address data that is a legal and data-quality question, not a minor detail. Confirm provenance and licensing with the maintainer or replace the seed data with a source you can defend before going to production.
Can I install tomato-locations into an app that already has location tables?
Publishing package-owned migrations onto existing core reference tables can collide with locally added columns and complicate rollback. Install on a feature branch and test the published migrations against a copy of your current schema first. Treat the migrations as first-party schema: publish them, code-review them, and decide explicitly whether to keep or adapt them.
How do I link my own models such as addresses, orders, or stores to Tomato Locations?
The package provides Eloquent models for countries, cities, and areas, and you attach your own records through standard Eloquent relationships. That lets you store address references and filter records by region without building geography tables from scratch. Follow the package's configurable table names if you rename anything, and keep your foreign keys consistent.
Is tomato-locations safe to use in production given zero stars and a single maintainer?
It is MIT-licensed code with a small, inspectable surface area and no runtime service, queue worker, or external API call, which makes it cheap to add and remove. However, it has no community bug-finding and no external safety net, so adopting it makes your team effectively the largest consumer. Put it on the risk register as vendor-and-own, pin to ^1.2 rather than *, and review each upgrade.
What changed between tomato-locations v1.2.4 and v1.2.5?
The v1.2.5 release note is only a GitHub compare link, with no changelog, migration note, or CVE reference. Someone must diff the tag locally to know whether it is a typo fix or a silent schema or config-key change. Record that finding in the pull request and treat patch-level upgrades as audit tasks rather than automatically safe.
Should I treat the locations schema as permanent once customer addresses reference it?
Yes. The package is swappable, but once customer addresses reference the countries, cities, and areas rows, those table shapes and IDs become join keys for shipping zones, tax jurisdictions, regional pricing, and store locators. That makes the schema effectively frozen for the life of the product and turns adoption into a one-way door. Get the schema decision right before first market launch rather than after.
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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core