PHP code example of maggomann / addressable
1. Go to this page and download the library: Download maggomann/addressable library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
maggomann / addressable example snippets
use Illuminate\Database\Eloquent\Model;
use Maggomann\Addressable\Traits\Addressable;
class Player extends Models
{
use Addressable;
}
//...
//...
$exampleAttributes = [
'first_name' => 'first name',
'last_name' => 'last name',
'name' => 'name',
'street_address' => 'street address',
'street_addition' => 'street addition',
'postal_code' => 'postal code',
'city' => 'city',
'country_code' => 'de',
'state' => null,
'company' => null,
'job_title' => null,
'is_preferred' => true,
'is_main' => true,
];
$address = new Address();
$address->fill($exampleAttributes);
$address->withCategory($categoryIdOrCategoryClass);
$address->withGender($genderIdOrGenderClass);
Player::query()
->findOrFail(1)
->address()
->save($address);
use Illuminate\Database\Eloquent\Model;
use Maggomann\Addressable\Traits\Addressable;
class Player extends Models
{
use Addressable;
}
//...
//...
$exampleAttributes = [
'first_name' => 'first name',
'last_name' => 'last name',
'name' => 'name',
'street_address' => 'street address',
'street_addition' => 'street addition',
'postal_code' => 'postal code',
'city' => 'city',
'country_code' => 'de',
'state' => null,
'company' => null,
'job_title' => null,
'is_preferred' => true,
'is_main' => true,
];
$addressOne = new Address();
$addressOne->fill($exampleAttributes);
$addressOne->withCategory($categoryIdOrCategoryClass);
$addressOne->withGender($genderIdOrGenderClass);
$addressTwo = new Address();
$addressTwo->fill($exampleAttributes);
$addressTwo->withCategory($categoryIdOrCategoryClass);
$addressTwo->withGender($genderIdOrGenderClass);
$player = Player::query()->findOrFail(1);
$player->addresses()->save($addressOne);
$player->addresses()->save($addressTwo);
// or
$player->addresses()->saveMany(
collect([
$addressOne,
$addressTwo,
])
);
use Illuminate\Database\Eloquent\Model;
use Maggomann\Addressable\Domain\Actions\UpdateOrCreateAddressAction;
use Maggomann\Addressable\Traits\Addressable;
class Player extends Models
{
use Addressable;
}
//...
//...
$exampleAttributes = [
'first_name' => 'first name',
'last_name' => 'last name',
'name' => 'name',
'street_address' => 'street address',
'street_addition' => 'street addition',
'postal_code' => 'postal code',
'city' => 'city',
'country_code' => 'de',
'state' => null,
'company' => null,
'job_title' => null,
'is_preferred' => true,
'is_main' => true,
];
$newAddress = app(UpdateOrCreateAddressAction::class)->execute(
$player,
AddressData::from($exampleAttributes)
);
// or
$updatedAddress = app(UpdateOrCreateAddressAction::class)->execute(
$player,
AddressData::from($exampleAttributes)
$player->addresses()->first()
);
'attributes' => [
'addresses' => [
'category_id' => 'address type',
'gender_id' => 'salutation',
'first_name' => 'first name',
'last_name' => 'last name',
'name' => 'first_name', 'last_name' => 'last_name',
'street_address' => 'streets and no.',
'street_addition' => 'street addition',
'postal_code' => 'postal code',
'city' => 'city',
'country_code' => 'country',
'state' => 'federal state',
'company' => 'company',
'job_title' => 'job title',
'is_preferred' => 'prefer',
'is_main' => 'is main address',
'latitude' => 'latitude',
'longitude' => 'longitude',
],
],
'address_genders' => [
'title' => [
'male' => 'Mr.',
'female' => 'Ms.',
'diverse' => 'Various',
],
],
'address_categories' => [
'title' => [
'standard' => 'Default address',
'billing' => 'Billing addres',
'shipping' => 'Delivery address',
],
],
bash
php artisan addressable:install
php artisan migrate
bash
php artisan vendor:publish --tag="addressable-migrations"
php artisan migrate
bash
php artisan vendor:publish --tag="addressable-config"
bash
php artisan vendor:publish --tag="addressable-translations"