Download the PHP package maxiewright/laravel-tt-addresses without Composer
On this page you can find all versions of the php package maxiewright/laravel-tt-addresses. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download maxiewright/laravel-tt-addresses
More information about maxiewright/laravel-tt-addresses
Files in maxiewright/laravel-tt-addresses
Package laravel-tt-addresses
Short Description Trinidad and Tobago address management for Laravel applications - divisions, cities, and address formatting
License MIT
Homepage https://github.com/maxiewright/laravel-tt-addresses
Informations about the package laravel-tt-addresses
Laravel Trinidad & Tobago Addresses
A Laravel package providing Trinidad and Tobago administrative divisions and cities/towns/villages for address management. Includes all 15 administrative divisions and 500+ communities.
Features
- ๐๏ธ 15 Administrative Divisions - All Regional Corporations, Boroughs, City Corporations, and Tobago
- ๐๏ธ 500+ Cities/Towns/Villages - Comprehensive coverage of Trinidad and Tobago communities
- ๐ Eloquent Relationships - Ready-to-use models with proper relationships
- ๐ Geolocation Support - Latitude and longitude for cities with distance calculations
- ๐จ Filament Support - Enums implement
HasLabelfor seamless Filament integration - โ๏ธ Configurable - Customise table names to avoid conflicts
- ๐งช Tested - Full test coverage with Pest
Requirements
- PHP 8.4+
- Laravel 10.x, 11.x, or 12.x
Installation
Install the package via Composer:
Quick Install (Recommended)
Run the install command which will guide you through the setup:
This will:
- Publish the configuration file
- Publish the migrations
- Optionally run the migrations
Manual Installation
If you prefer to install manually:
Seed the Data
After running migrations, seed the divisions and cities:
Or add them to your DatabaseSeeder.php:
Configuration
The configuration file is located at config/tt-addresses.php:
Usage
Basic Queries
Division Types
The package includes a DivisionType enum with the following values:
| Value | Label | Island |
|---|---|---|
RegionalCorporation |
Regional Corporation | Trinidad |
Borough |
Borough | Trinidad |
CityCorporation |
City Corporation | Trinidad |
Ward |
Ward | Tobago |
Adding Addresses to Your Models
Use the HasTrinidadAndTobagoAddress trait on any model that needs Trinidad and Tobago address fields:
Create a migration for your model:
Then use it:
Geolocation Features
The package includes coordinates for cities, enabling location-based queries:
Using with Address Models
Models using HasTrinidadAndTobagoAddress automatically get location methods:
Search Enhancements
The package includes powerful search and autocomplete features designed for high-performance applications:
Autocomplete Search
Popular Cities
Search Radius Filtering
Nearby Location Suggestions
Performance Optimization
Configuration for Search
Update your config/tt-addresses.php for search optimization:
Filament Integration
The models and enums are designed to work seamlessly with FilamentPHP.
Select Fields
Using the Enum in Filters
Administrative Divisions Reference
| ID | Name | Type | Abbreviation |
|---|---|---|---|
| 1 | Couva/Tabaquite/Talparo | Regional Corporation | CTT |
| 2 | Diego Martin | Regional Corporation | DMN |
| 3 | Mayaro/Rio Claro | Regional Corporation | MRC |
| 4 | Penal/Debe | Regional Corporation | PED |
| 5 | Princes Town | Regional Corporation | PRT |
| 6 | Sangre Grande | Regional Corporation | SGE |
| 7 | San Juan/Laventille | Regional Corporation | SJL |
| 8 | Siparia | Regional Corporation | SIP |
| 9 | Tunapuna/Piarco | Regional Corporation | TUP |
| 10 | Arima | Borough | ARI |
| 11 | Chaguanas | Borough | CHA |
| 12 | Point Fortin | Borough | PTF |
| 13 | Port of Spain | City Corporation | POS |
| 14 | San Fernando | City Corporation | SFO |
| 15 | Tobago | Ward | TOB |
API Reference
Division Model
Attributes
name- Division nametype- DivisionType enumabbreviation- Short code (e.g., "POS", "CHA")island- "Trinidad" or "Tobago"
Relationships
cities()- HasMany relationship to City
Scopes
scopeTrinidad()- Filter to Trinidad divisions onlyscopeTobago()- Filter to Tobago onlyscopeOfType(DivisionType $type)- Filter by division typescopeSearch(string $search)- Search by name or abbreviation
Methods
isTobago(): bool- Check if division is in TobagoisTrinidad(): bool- Check if division is in Trinidad
Accessors
full_name- Returns "Division Name (Type Label)"
City Model
Attributes
name- City/town/village namedivision_id- Foreign key to Division
Relationships
division()- BelongsTo relationship to Division
Scopes
scopeTrinidad()- Filter to Trinidad cities onlyscopeTobago()- Filter to Tobago cities onlyscopeInDivision(int|Division $division)- Filter by divisionscopeSearch(string $search)- Search by name
Methods
isTobago(): bool- Check if city is in TobagoisTrinidad(): bool- Check if city is in Trinidad
Accessors
full_location- Returns "City Name, Division Name"island- Returns "Trinidad" or "Tobago" via division
HasTrinidadAndTobagoAddress Trait
Relationships
division()- BelongsTo relationship to Divisioncity()- BelongsTo relationship to City
Methods
isInTobago(): bool- Check if address is in TobagoisInTrinidad(): bool- Check if address is in TrinidadhasCompleteAddress(): bool- Check if address has all required fields
Accessors
formatted_address- Returns formatted single-line address stringformatted_address_multiline- Returns formatted multi-line address stringisland- Returns "Trinidad" or "Tobago"country_code- Returns "TT"
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Contributions are welcome! Please see CONTRIBUTING for details.
Adding Missing Cities
If you notice a city/town/village is missing, please submit a pull request with:
- The city name (correctly spelled)
- The correct
division_id(see Administrative Divisions Reference)
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Maxie Wright
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
Made with โค๏ธ for ๐น๐น developers.
All versions of laravel-tt-addresses with dependencies
spatie/laravel-package-tools Version ^1.16
illuminate/contracts Version ^11.0||^12.0||^13.0