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

Databázová schéma a typy kľúčov

Všetky kontakty všetkých vlastníkov ukladá jedna polymorfná tabuľka. Jej názov pochádza z contacts.table:

StĺpecTypÚčel
idbigintAutoinkrementálny kľúč.
owner_type / owner_idnullable morphPolymorfný vlastník; owner_id sa riadi key_type. Null pri kontaktoch bez vlastníka.
typestring, default custom, indexedSurový druh — vstavaná hodnota alebo registrovaný vlastný druh.
namestringZobrazované meno ('' ak nie je nastavené).
valuenullable stringNormalizovaná hodnota kontaktu, najviac 255 znakov.
labelnullable stringVoľný popis, napr. Work.
categorynullable string, indexedZoskupenie, napr. Suppliers.
is_primaryboolean, default falsePrimárny v rámci vlastníka a druhu.
positionunsigned int, default 0Poradie v rámci druhu.
verified_atnullable timestampKedy bol kontakt overený.
verification_tokennullable stringHash čakajúceho tokenu — skrytý v poliach aj JSON.
verification_expires_atnullable timestampExpirácia tokenu.
verification_attemptsunsigned smallint, default 0Nesprávne pokusy minuté na čakajúci token; nový token ich vynuluje.
metanullable jsonbĽubovoľné metadáta, castované na Collection.
created_at / updated_attimestampsŠtandardné časové pečiatky.
deleted_atsoft deletesZmazané kontakty zostanú dostupné.

Najčastejšie dotazy pokrývajú dva zložené indexy: (owner_type, owner_id, type) pre čítanie podľa druhu a (owner_type, owner_id, type, is_primary) pre vyhľadanie primárneho kontaktu.

Typ kľúča vlastníka

Vlastník je voliteľná polymorfná relácia, preto musí owner_id zodpovedať kľúčom vašich modelov. Ak tieto modely používajú HasUuids alebo HasUlids, nastavte key_type na uuid alebo ulid. Hodnota sa číta pri spustení migrácie, takže ju nastavte pred publikovaním a migráciou:

# set before you publish and run the migration
CONTACTS_KEY_TYPE=uuid

Nenastavená alebo prázdna hodnota sa číta ako bigint, ktorý vytvorí presne tie isté stĺpce ako nullableMorphs() v Laraveli. Akákoľvek iná hodnota vyhodí pri spustení migrácie InvalidConfigurationException, takže preklep nikdy potichu nevytvorí stĺpce bigint pre vlastníkov s UUID či ULID.

Soft delete

Kontakty používajú soft delete, takže zmazaný kontakt zostane dostupný cez withTrashed(). Soft delete spolu s kontaktom presunie do koša aj jeho štruktúrované adresy a hrany vzťahov v oboch smeroch a restore() vráti presne tie — nie tie, ktoré ste predtým zmazali samostatne. Obnovený primárny kontakt sa vráti ako sekundárny, ak medzitým jeho druh povýšil iný kontakt. forceDelete() adresy aj hrany 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.