Do JSON stĺpca meta uložíte ľubovoľný kontext prepojenia — kto koho pozval, označenie roly, zdroj importu — bez ďalšej pomocnej tabuľky:
Connections::between($user, $team)
->withMeta(['invited_by' => $admin->id, 'role' => ['label' => 'owner']])
->connect();
$connection->meta('role.label'); // 'owner' (dot access)
$connection->meta('missing', 'fallback'); // 'fallback'
// Re-connecting merges meta by default; replaceMeta() overwrites instead.
Connections::between($user, $team)->withMeta(['note' => 'hi'])->connect(); // merge; perms + expiry kept
Connections::between($user, $team)->withMeta(['note' => 'hi'])->replaceMeta()->connect();
// The trait verb takes meta too.
$user->connectTo($team, ['view'], now()->addMonth(), ['source' => 'import']);- meta($key, $default) číta bodkovou notáciou a pri chýbajúcom kľúči vráti predvolenú hodnotu.
- Opätovné prepojenie zlúči pripravené meta s uloženým na najvyššej úrovni — oprávnenia aj expirácia zostanú; replaceMeta() meta namiesto toho prepíše.
- connect() bez withMeta() uložené meta nezmení.
- withMeta() môžete na jednom builderi zavolať viackrát — každé volanie sa zlúči do pripraveného meta.
- Meta prijímajú aj connectAll() a položky SyncTarget pre sync().
- Surový atribút meta obsahuje celé pole alebo null, ak nie je nič uložené.
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.