---
title: "Príslušnosti a vzťahy — Contacts for Laravel | Roundly"
description: "Prepojte kontakty navzájom aj s vlastníkmi — pracuje v, manžel/ka — s pozvánkami, expiráciou a voliteľným zoznamom povolených vzťahov."
url: https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel/vztahy
language: sk
---

[Všetky balíky](https://roundly-consulting.com/sk/open-source.md)

[Contacts for Laravel](https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel.md)

# 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:

```php
$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. Podobne ako pomocné metódy výpisu z balíka connections berie, kým je zapnuté connections.enforce\_active\_on\_check (predvolene), len aktívne vzťahy: zablokované, čakajúce a expirované vynechá. Ak ich chcete vypísať tiež, príznak vypnite.
- 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:

```php
$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:

```php
// 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](https://roundly-consulting.com/sk/podporte-nas.md)

Odoslaním daru súhlasíte s našimi [podmienkami prijímania darov](https://roundly-consulting.com/sk/podmienky-darov.md).

[Podporte našu open-source prácu (otvorí sa v novej karte)](https://donate.stripe.com/dRmeVe8FX5PF1Qd9pXcEw00) [Pridajte sa k nám na Patreone (otvorí sa v novej karte)](https://www.patreon.com/cw/roundly)

## 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.

[Ponuka do 48 hodín](https://roundly-consulting.com/sk/kontakt.md) [Prezrieť všetky balíky](https://roundly-consulting.com/sk/open-source/navody/contacts-for-laravel.md)
