Laravel version | Package version |
---|---|
5.7 | 1.0 |
5.8 | 1.1 |
6.0 | 1.1 |
7.0 | 2.0 |
8.0 | 3.0 |
9.0 | 4.0 |
10.0 | 5.0 |
composer require stylers/laravel-address
You can publish the migration
php artisan vendor:publish --provider="Stylers\Address\Providers\AddressServiceProvider"
After the migration has been published, you can run the migrations
php artisan migrate
use Stylers\Address\Contracts\Models\Traits\HasAddressesInterface;
use Stylers\Address\Models\Traits\HasAddresses;
class User extends Authenticatable implements HasAddressesInterface
{
use Notifiable;
use HasAddresses;
}
If the $type
is exists then will be update with $attributes
.
use Stylers\Address\Enums\AddressTypeEnum;
$user = User::first();
$attributes = [
"country" => "Hungary",
"zip_code" => "1055",
"city" => "Budapest",
"name_of_public_place" => "Kossuth Lajos",
"type_of_public_place" => "place",
"number_of_house" => "1-3",
"floor" => "42",
"door" => "69",
"latitude" => "47.5070738",
"longitude" => "19.045599",
"parcel_number" => "10086/0/A/3",
]; // array
$type = AddressTypeEnum::PRIMARY; // ?string
$address = $user->updateOrCreateAddress($attributes, $type); // AddressInterface
use Stylers\Address\Enums\AddressTypeEnum;
$user = User::first();
$type = AddressTypeEnum::PRIMARY; // ?string
$isDeleted = $user->deleteAddress($type); // boolean
The syncAddresses()
method delete all addressable address if $type
is not exists in $arrayOfAttributes[$type][]
.
The syncAddresses()
method create all $type
of arrayOfAttributes[$type][]
if type is not exists in addresses
table.
use Stylers\Address\Enums\AddressTypeEnum;
$user = User::first();
$arrayOfAttributes = [
AddressTypeEnum::MAILING => [
"country" => "Hungary",
"zip_code" => "1055",
"city" => "Budapest",
"name_of_public_place" => "Kossuth Lajos",
"type_of_public_place" => "place",
"number_of_house" => "1-3",
"floor" => "42",
"door" => "69",
"latitude" => "47.5070738",
"longitude" => "19.045599",
"parcel_number" => "10086/0/A/3",
]
];
$addresses = $user->syncAddresses($arrayOfAttributes); // Collection
$ docker run -it --rm -v $PWD:/app -w /app composer bash
$ composer install
$ ./vendor/bin/phpunit
# Fatal error: Allowed memory size of...
$ COMPOSER_MEMORY_LIMIT=-1 composer install