d-justa/laravel-addresses

Resuable address logic for Laravel.

Maintainers

Package info

github.com/d-justa/laravel-addresses

pkg:composer/d-justa/laravel-addresses

Statistics

Installs: 1

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

dev-master 2026-05-12 16:24 UTC

This package is auto-updated.

Last update: 2026-05-12 16:25:08 UTC


README

Reusable address logic for Laravel applications.

Installation

Install the package via Composer:

composer require vision/laravel-addresses

Laravel will automatically discover the service provider.

Usage

Migrations

The package includes a migration for the addresses table. Publish the migration with:

php artisan vendor:publish --tag=laravel-addresses-migrations

Then run:

php artisan migrate

Model Trait

Use the HasAddresses trait on any Eloquent model that should have addresses.

use Illuminate\Database\Eloquent\Model;
use Vision\LaravelAddresses\Traits\HasAddresses;

class User extends Model
{
    use HasAddresses;
}

Working with addresses

$user = User::find(1);

// Create or update the primary address
$user->updateAddress([
    'line_1' => '123 Main St',
    'city' => 'Anytown',
    'state' => 'CA',
    'postal_code' => '12345',
    'country' => 'USA',
]);

// Get the primary address
$address = $user->address('primary')->first();

// Get all addresses
$addresses = $user->addresses;

Address model

The package provides an Address model at Vision\LaravelAddresses\Models\Address.

Publishing

To publish only the migration file:

php artisan vendor:publish --provider="Vision\LaravelAddresses\AddressServiceProvider" --tag=laravel-addresses-migrations

Testing

This package is designed to work with Orchestra Testbench for package testing.

License

MIT