Inštalácia
Pridajte balík. Service provider sa zaregistruje automaticky — bez manuálnej registrácie:
composer require roundly-consulting/attributes-for-laravelPublikujte migrácie a spustite ich:
php artisan vendor:publish --tag="attributes-migrations"
php artisan migrateMigrácie len na publikovanie
Balík svoje migrácie nikdy nenačítava sám. Publikovanie skopíruje tri súbory s časovou pečiatkou do database/migrations vašej aplikácie, kde ich vlastníte a pred spustením môžete schému upraviť: tabuľku attributes, auditnú tabuľku attribute_revisions a update_attribute_revisions_add_actor, ktorá pridá nullable stĺpce actor na zaznamenanie autora každej zmeny (radí sa za obe migrácie create).
Ak vaše modely vlastníkov používajú kľúče UUID alebo ULID, publikujte pred migráciou konfiguráciu a nastavte key_type — stĺpce vlastníka dostanú typ pri spustení migrácií (pozrite Databázová schéma a model). Stĺpce actor majú vlastný actor_key_type pre prípad, že vaši používatelia majú iné kľúče ako modely vlastníkov.
Voliteľne publikujte konfiguračný súbor:
php artisan vendor:publish --tag="attributes-config"Jediné publish tagy, ktoré balík vystavuje, sú attributes-migrations a attributes-config.
Prechod na 2.2
Verzia 2.2.0 pridáva 'unique' => 'scope' — jedinečné hodnoty v rámci tímu či tenanta — nad existujúcim indexom unique_hash, takže nepotrebuje migráciu. Definícia s kľúčom unique_scope, ktorej unique nie je scope, odteraz vyhodí výnimku namiesto toho, aby sa kľúč ticho ignoroval. Ďalšia major verzia plánuje premenovať 'unique' => 'owner' na 'owner_type': vždy znamenala jeden spoločný priestor pre celý typ vlastníka, ktorý v aplikácii s viacerými tenantmi zasahuje všetkých tenantov.
Prechod na 2.1
Verzia 2.1.0 pridáva jednu doplnkovú migráciu pre stĺpce actor v revíziách a odteraz vyžaduje illuminate/http (kvôli API resources). Publikujte migrácie znova a spustite ich:
# 2.1.0 adds one migration — the revisions' actor columns
php artisan vendor:publish --tag="attributes-migrations"
php artisan migrateVaše publikované migrácie create sa rozpoznajú podľa obsahu a zostanú na mieste; pribudne len update_attribute_revisions_add_actor s novšou časovou pečiatkou. Ak ste publikovanú migráciu create upravili, publisher ju už nerozpozná a pridá druhú kópiu — tú pred migráciou zmažte. Všetko nové je voliteľné: zaznamenávanie autora (history.actor.enabled) aj validácia celej množiny (validation.whole_set) zostávajú vypnuté, kým ich nezapnete, takže prechod nič nemení. Migráciu spustite ešte pred zapnutím zaznamenávania autora — ďalšia major verzia ho plánuje zapnúť predvolene.
Ďalšie kroky
- Pridajte na model trait a kontrakt HasAttributes.
- Pripojte prvý typovaný atribút cez Attributes::for($model)->set().
- Keď chcete validáciu, predvolené hodnoty alebo obmedzenia, zaregistrujte definície.
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 kryptomienOdoslaní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.