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

Š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:

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

// 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). 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ú 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

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.