Addressable Polymorphic Eloquent Models for Laravel 5

1.1.0 2020-10-29 08:57 UTC

This package is auto-updated.

Last update: 2024-04-29 03:45:00 UTC


Build Status PHP from Packagist Latest Version License

This is a fork of Faust Brian Laravel Addressable to make it work with 5.5 LTS version of Laravel. All credits go to him.


Require this package, with Composer, in the root directory of your project.

$ composer require blok/laravel-addressable

You can publish the migration with:

$ php artisan vendor:publish --provider="Blok\Addressable\AddressableServiceProvider" --tag="migrations"

After the migration has been published you can create the tables by running the migrations:

$ php artisan migrate

You can publish the config file with:

$ php artisan vendor:publish --provider="Blok\Addressable\AddressableServiceProvider" --tag="config"


Setup a Model


namespace App;

use Blok\Addressable\Traits\HasAddresses;
use Illuminate\Database\Eloquent\Model;

class Order extends Model
    use HasAddresses;

Get an address by role


Set the role of an address

$user->address('billing', Address::find(1));

Create a new address (with a role)

$user->address('shipping', [
    'country_id' => 26,
    'name_prefix' => 'Mrs',
    'first_name' => 'John',
    'last_name' => 'Doe',
    'street' => 'JohnDoe Lane',
    'building_number' => 123,
    'city' => 'New York',
    'state' => 'New York',
    'postcode' => 12345,


$ phpunit


If you discover a security vulnerability within this package, please send an e-mail to All security vulnerabilities will be promptly addressed.



MIT ©Brian Faust