faustbrian/laravel-addressable

Addressable Polymorphic Eloquent Models for Laravel 5

5.1.0 2018-11-10 06:44 UTC

README

Build Status PHP from Packagist Latest Version License

Installation

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

$ composer require faustbrian/laravel-addressable

You can publish the migration with:

$ php artisan vendor:publish --provider="BrianFaust\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="BrianFaust\Addressable\AddressableServiceProvider" --tag="config"

Usage

Setup a Model

<?php

namespace App;

use BrianFaust\Addressable\HasAddresses;
use Illuminate\Database\Eloquent\Model;

class Order extends Model
{
    use HasAddresses;
}

Get an address by role

$user->address('billing');

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,
]);

Testing

$ phpunit

Security

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

Credits

License

MIT © Brian Faust