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

Čítanie adries

use RoundlyConsulting\Addresses\Enums\AddressType;
use RoundlyConsulting\Addresses\Facades\Addresses;

$book = Addresses::for($payer);

$book->all();                                                  // Collection<Address>, oldest first
$book->primary();                                              // primary across all types (or null)
$book->primary(AddressType::Office);                           // primary of a type
$book->ofType(AddressType::Shipping);                          // collection of a type

// Model trait shortcuts (they go through the same book):
$payer->addresses;                                             // all addresses (relation)
$payer->getAddressOfType(AddressType::Home);                   // first of a type
$payer->getAddressOfType(AddressType::Home, onlyPrimary: true); // first primary of a type
$payer->getPrimaryAddressOfType(AddressType::Office);          // the same, as a shorthand
$payer->primaryAddress();                                      // primary across all types
$payer->primaryAddress(AddressType::Office);                   // primary of a type
$payer->addressesOfType(AddressType::Shipping);                // collection of a type
$payer->hasAddresses();                                        // bool
MetódaVraciaPoznámka
addresses()MorphManyVzťah; ->addresses vráti načítanú kolekciu.
getAddressOfType($type, $onlyPrimary = false)?AddressPrvá adresa daného typu, od najstaršej; pri true len primárna.
getPrimaryAddressOfType($type)?AddressSkratka pre getAddressOfType($type, onlyPrimary: true).
primaryAddress(?$type = null)?AddressPrimárna adresa daného typu, alebo prvá primárna adresa ľubovoľného typu.
addressesOfType($type)Eloquent CollectionVšetky adresy daného typu.
hasAddresses()boolČi má vlastník aspoň jednu adresu.
addressBook()AddressBookAdresár tohto modelu — ten istý objekt, ktorý vráti Addresses::for($model).

Každé čítanie prechádza adresárom vlastníka a je zoradené od najstaršej adresy, takže getAddressOfType() vráti najstaršiu adresu daného typu. Každý argument typu prijme prípad AddressType alebo kľúč ('registered'), bez kontroly voči addresses.types. Ak môže mať vlastník viac adries jedného typu, primárnu načítajte cez primaryAddress($type) alebo všetky cez addressesOfType().

Eager loading

Každý pomocník spúšťa vlastný dopyt. Keď zobrazujete veľa vlastníkov naraz, načítajte vzťah vopred jedným dopytom a filtrujte už načítanú kolekciu:

// the helpers run a query on every call — for lists, eager-load the relation once
$customers = Customer::with('addresses')->get();

foreach ($customers as $customer) {
    $customer->addresses->where('is_primary', true);   // filtered in memory, no extra query
}

Bez traitu

Adresár číta tie isté údaje pre akýkoľvek Eloquent model — Addresses::for($model)->all(), ->primary($type) a ->ofType($type), vždy od najstaršej adresy. Pozrite sekciu Fasáda Addresses.

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.