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

Príslušnosti a vzťahy

Contact je Connectable cez connections-for-laravel. Prepájajte kontakty navzájom aj s vlastníkmi pomocou voľného druhu vzťahu riadeného konfiguráciou:

$person->connectTo($company, ['employee']);       // raw connection
$person->relateTo($company, 'works_at');           // typed kind, stored in meta
$person->relationsOfKind('works_at');              // contacts related under a kind
$person->inviteConnection($company);               // pending -> accept/block
$company->acceptConnectionFrom($person);

Contacts::sharedWith($owner);                       // contacts connected to an owner
  • relateTo(Connectable $other, string $kind, array $meta = []) — uloží druh do meta prepojenia, zlúčený s ďalšími meta, ktoré odovzdáte. Opakované volanie je idempotentné.
  • relationsOfKind(string $kind) — kontakty, s ktorými je tento kontakt v danom vzťahu.
  • Vzťah kontaktu so sebou samým vyhodí RelationshipException.
  • Contacts::sharedWith($owner) — kontakty prepojené s vlastníkom, takže jeden zdieľaný kontakt (napríklad dodávateľ) môže patriť viacerým vlastníkom bez duplikácie. Vlastník musí byť Connectable.

API prepojení

Na každom kontakte je dostupné celé API prepojení — pozvánky, blokovanie, expirácia aj odstránenie:

$person->relateTo($company, 'works_at', ['since' => '2024-03']);  // extra meta
$person->relateTo($company, 'works_at');   // idempotent — still one edge

$person->connectTo($consultant, ['contractor'], now()->addDays(30));  // expiring edge
$person->expiringConnections();            // edges expiring within 7 days
$person->disconnectFrom($consultant);
$company->blockConnectionFrom($person);

Obmedzenie druhov vzťahov

Povolené druhy obmedzíte cez contacts.relationship_kinds. Vzťah s iným druhom vyhodí RelationshipException:

// config/contacts.php — empty = free-form; a list or a kind => label map restricts kinds
'relationship_kinds' => [
    'works_at' => 'Works at',
    'spouse_of' => 'Spouse of',
    'reports_to' => 'Reports to',
],

Soft delete kontaktu presunie do koša jeho hrany vzťahov v oboch smeroch, restore() ich vráti a forceDelete() ich 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.