Prepínanie a obnova
disconnect() prepojenie soft-deletuje a spustí ConnectionRemoved; ak prepojenie neexistuje, vyhodí ConnectionNotFound. Zmazaný riadok si ponechá miesto v unikátnom indexe dvojice, preto sa odpojená dvojica vždy oživí na mieste — nikdy sa nevloží druhýkrát:
Connections::between($user, $team)->disconnect(); // soft delete, fires ConnectionRemoved
$user->disconnectFrom($team); // the trait equivalentToggle, reconnect a restore
// Disconnect an active connection, otherwise connect — as often as you like. Over a pending,
// blocked or expired row the "connect" keeps that status and expiry (it never lifts a block
// or renews an expiry — use accept() / extend() for that).
Connections::between($user, $team)->toggle(); // ?Connection
$user->toggleConnection($team);
// Restore a previously soft-deleted connection with the permissions, expiry and meta it had
// (connect() would start it fresh), firing ConnectionRestored — or connect afresh if none trashed.
Connections::between($user, $team)->reconnect();
Connections::between($user, $team)->restore(); // alias
$user->reconnectTo($team);- toggle() aktívne prepojenie odpojí a vráti null; inak prepojí a vráti Connection — a to ľubovoľne veľakrát. toggleConnection() je metóda traitu a prijíma aj oprávnenia.
- Kontrola aktívneho prepojenia sa riadi enforce_active_on_check, takže prepojenie v stave pending, blocked alebo po expirácii sa počíta ako neprepojené. toggle() ho potom prepojí, ale stav aj expiráciu ponechá — blokovanie nezruší a expiráciu neobnoví; na to slúžia accept() a extend().
- Opätovné zapnutie dvojice po vypnutí cez toggle oživí soft-deleted riadok ako nové prepojenie.
- reconnect() obnoví soft-deleted riadok s oprávneniami, expiráciou a meta, ktoré mal, a spustí ConnectionRestored. Ak nie je čo obnoviť, vytvorí nové prepojenie a spustí ConnectionCreated. restore() je alias; reconnectTo() je metóda traitu.
Obnoviť, alebo začať nanovo
Po disconnect() alebo upratovaní si vyberiete, ako sa dvojica vráti: reconnect() obnoví pôvodné prepojenie, connect() — rovnako ako grant(), permissions()->sync(), invite(), toggle() a sync() — oživí riadok ako nové prepojenie len s tým, čo pripravíte, a s predvolenými hodnotami z konfigurácie. Zablokovaná dvojica zostane v oboch prípadoch zablokovaná:
Connections::between($user, $team)->disconnect();
// Restore it as it was — permissions, expiry and meta (ConnectionRestored).
Connections::between($user, $team)->reconnect();
// Or start over: connect() revives the soft-deleted row as a fresh connection (ConnectionCreated),
// with what you stage plus the config defaults — a blocked pair is restored still blocked.
Connections::between($user, $team)->withPermissions('view')->connect();Obnovené tak, ako bolo
Obnovené prepojenie sa vráti presne v pôvodnej podobe — vrátane oprávnení, stavu, meta aj expirácie. Obnoviť môžete aj prepojenia, ktoré upratal connections:prune, ich expirácia je však stále v minulosti, preto ju predĺžte:
Connections::between($user, $team)->disconnect();
// Later — bring the same connection back, then renew a lapsed expiry.
Connections::between($user, $team)->reconnect();
Connections::between($user, $team)->extend(now()->addMonth());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.