---
title: "Štruktúrované adresy — Contacts for Laravel | Roundly"
description: "Pridajte kontaktu validované fakturačné, domáce či pracovné adresy cez addresses-for-laravel s jednoriadkovým zobrazením."
url: https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel/strukturovane-adresy
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Contacts for Laravel](https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel.md)

# Štruktúrované adresy

Contact je Addressable, takže cez addresses-for-laravel drží adresár fakturačných, fyzických či korešpondenčných adries. Voľný reťazec value naďalej slúži ako záloha:

```php
use RoundlyConsulting\Addresses\DataTransferObjects\AddressData;
use RoundlyConsulting\Addresses\Enums\AddressType;

$contact->addAddress(AddressData::make(
    city: 'Bratislava', street: 'Hlavna 1', postalCode: '81101',
    countryIso: 'SK', type: AddressType::Billing, isPrimary: true,
));

$contact->primaryAddress();                       // the primary Address
$contact->addressesOfType(AddressType::Billing);  // typed lookup
$contact->formattedAddress();                     // one-line render, falls back to value
```

- addresses(), addAddress(AddressData), primaryAddress(?AddressType), addressesOfType(AddressType), setPrimaryAddress(Address) — z traitu HasAddresses balíka addresses.
- formattedAddress() — jednoriadkové zobrazenie primárnej adresy alebo value kontaktu, ak žiadna nie je pripojená.
- Prípady AddressType: Default, Billing, Shipping, Home, Work, Office.

## Kontakt a adresa naraz

```php
// Build an address-type contact and its structured Address in one call:
Contacts::for($owner)
    ->structuredAddress([
        'city' => 'Vienna', 'street' => 'Ring 3',
        'postalCode' => '1010', 'countryIso' => 'AT',
        'type' => AddressType::Billing,
    ])
    ->add();

// Or from the owner directly:
$owner->addStructuredAddress(AddressData::make(
    city: 'Bratislava', street: 'Hlavna 1', postalCode: '81101', countryIso: 'SK',
), label: 'Main');
```

structuredAddress() prijíma AddressData alebo pole (city, street, postalCode alebo postal\_code, countryIso alebo country\_iso, name, type, isPrimary, meta). Chýbajúci alebo nerozpoznaný type ponechá na addresses.default\_type vašej aplikácie, presne ako pri adrese vytvorenej cez balík addresses. Pri add() value kontaktu zrkadlí jednoriadkové zobrazenie adresy, aby existujúce čítania fungovali ďalej.

Štruktúrovaná adresa sa pripojí ako primárna Address kontaktu bez ohľadu na jej príznak isPrimary, takže ju primaryAddress() nájde a formattedAddress() ju zobrazí — vrátane neskorších úprav Address.

## Úprava adresy

Contacts::update() prijme štruktúrovanú adresu v ContactData::$address rovnako ako add(): prepíše vlastnú Address kontaktu na mieste, v tej istej transakcii ako riadok, a value zrkadlí jej nové jednoriadkové zobrazenie — formattedAddress() teda zobrazí novú adresu. Kontakt bez nej ju dostane pripojenú; ostatné adresy kontaktu zostanú nedotknuté. Úprava len hodnoty štruktúrovanú adresu zachová a zmení iba text, preto ak chcete zmeniť, čo zobrazuje formattedAddress(), odovzdajte aj adresu alebo upravte samotnú Address.

Štruktúrovanú adresu prijme len adresný kontakt — pri akomkoľvek inom sa vyhodí InvalidContactValue. Kódy krajín validuje balík addresses — neznáma krajina vyhodí jeho InvalidCountryException. Soft delete kontaktu presunie do koša aj jeho adresy, restore() ich vráti a forceDelete() ich odstráni natrvalo.

## 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel.md)
