Model Address
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út | Typ | Poznámka |
|---|---|---|
id | int | Primárny kľúč. |
addressable_type / addressable_id | string / kľúč | Polymorfná dvojica vlastníka. |
is_primary | bool | Cast na bool. |
type | AddressType | Cast na enum. |
name | ?string | Voliteľný názov. |
city, street, postal_code | ?string | Riadky adresy. |
country_iso | ?string | Uložený ISO kód. |
country_name | ?string | Accessor — zisťuje sa cez CountryResolver, nikdy sa neukladá. |
meta | ?Collection | Cast 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 resolverMeta
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 setFormá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 kryptomienOdoslaní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.