Download the PHP package dillingham/locality without Composer
On this page you can find all versions of the php package dillingham/locality. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download dillingham/locality
More information about dillingham/locality
Files in dillingham/locality
Package locality
Short Description Automatic Address Normalization in Laravel
License MIT
Homepage https://github.com/dillingham/locality
Informations about the package locality
Locality
A Laravel package that automatically normalizes address data. Instead of storing city state & zipcodes repeatedly, create tables and reference the foreign key. This package accepts the string representation, checks if it exists or creates it and adds the relationship. This package also provides accessors to make it feel as though you aren't even normalizing.
Installation
You can install the package via composer:
You can publish the config file with:
Add the following columns to your model's migration:
Which is just a shorthand for adding these columns:
column | nullable | indexed | description |
---|---|---|---|
address_1 | yes | no | street and building number |
address_2 | yes | no | optional unit number |
admin_level_3_id | yes | yes | the neighborhood political region |
admin_level_2_id | no | yes | the city political region |
admin_level_1_id | no | yes | the state political region |
postal_code_id | no | yes | the postal foreign key |
country_id | yes | no | the country foreign key |
formatted_address | no | no | static address without queries |
The 5 tables will be migrated:
Then add the HasAddress
trait:
Usage
Automatically the trait will use firstOrCreate when storing Profile
becomes the foreign id of Brooklyn in the admin_level_2
table
Access Values
Access the string values of the relationships via accessors:
These accessors call relationships behind the scenes, eager load in collections
Note: the full address formatting is statically stored while saving:
Bonus
The following are opt in loosely related features;
Dependent Filters
Here are some api routes for filtering models by localtion info
The following assumes routes/api.php and prefixed from RouteServiceProvider.php
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Brian Dillingham
- All Contributors
License
The MIT License (MIT). Please see License File for more information.