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