NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky

RoundlyConsulting\Addresses\Address je bežný Eloquent model nad tabuľkou addresses. Nie je finálny, takže ho môžete rozšíriť, používa HasFactory a SoftDeletes a všetky atribúty sú hromadne priraditeľné ($guarded = []).

AtribútTypPoznámka
idintPrimárny kľúč.
addressable_type / addressable_idstring / kľúčPolymorfná dvojica vlastníka.
is_primaryboolCast na bool.
typeAddressTypeCast na enum.
name?stringVoliteľný názov.
city, street, postal_code?stringRiadky adresy.
country_iso?stringUložený ISO kód.
country_name?stringAccessor — zisťuje sa cez CountryResolver, nikdy sa neukladá.
meta?CollectionCast na Collection nad JSON stĺpcom.
created_at, updated_at, deleted_at?CarbonČasové pečiatky a značka mäkkého zmazania.
$address->addressable;          // the owning model (Customer, Company, …)
$address->type;                 // AddressType::Billing
$address->type->label();        // 'Billing'
$address->is_primary;           // bool
$address->country_iso;          // 'SK'
$address->country_name;         // resolved name, or null without a resolver

Meta

meta uchováva všetko, čo k adrese patrí, no nezaslúži si vlastný stĺpec — poschodie, kód brány, poznámky pre kuriéra. Ukladá sa ako JSON a pri čítaní sa prevedie na Illuminate\Support\Collection, prípadne na null, ak nič nastavené nebolo:

$address = $customer->newAddress()
    ->in('Bratislava')->at('Somewhere 1')->postalCode('81101')->country('SK')
    ->meta(['floor' => 3, 'gate_code' => '1234'])
    ->save();

$address->meta->get('floor');        // 3
$address->meta?->get('gate_code');  // '1234' — meta is null when none was set

Formátovaný popis

formatted() zostaví jednoriadkový popis z vyplnených častí — názov, ulica, PSČ s mestom a kód krajiny — a prázdne časti vynechá. Oddeľovač namiesto predvolenej čiarky zadáte parametrom:

$payer->primaryAddress()?->formatted();
// "HQ, Somewhere 1, 81101 Bratislava, SK"

$address->formatted(' | ');
// "HQ | Somewhere 1 | 81101 Bratislava | SK"

// empty parts are skipped — the same kind of address without a name:
// "Main 2, 04001 Košice, SK"

Popis používa ISO kód, nie zistený názov krajiny, takže je rovnaký bez ohľadu na to, či je CountryResolver naviazaný.

Prejavte lásku k open source

Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.

Ďalšie spôsoby podpory vrátane kryptomien

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

Chcete to zabudovať do svojho produktu?

Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.