uptoolkit/laravel-addressable

Addressable Polymorphic Eloquent Models for Laravel

1.0.0 2024-01-13 14:28 UTC

This package is auto-updated.

Last update: 2024-12-13 16:20:12 UTC


README

Build Status PHP from Packagist Latest Version License

This is a fork of Faust Brian Laravel Addressable maintened to make it work with new versions of Laravel. All credits go to him.

Installation

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

$ composer require uptoolkit/laravel-addressable

You can publish the migration with:

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

Usage

Setup a Model

<?php

namespace App;

use Uptoolkit\Addressable\Traits\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 uptoolkit@cherrypulp.com. All security vulnerabilities will be promptly addressed.

Credits

License

MIT ©Brian Faust