---
title: "Dopytovanie prepojení — Connections for Laravel | Roundly"
description: "Zistite, kto je prepojený, prechádzajte oba smery, filtrujte scopes pre aktívne, expirované a oprávnenia a načítajte typované modely."
url: https://roundly-consulting.com/sk/open-source/navody/connections-for-laravel/dopytovanie
language: sk
---

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

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

# Dopytovanie prepojení

Pýtať sa môžete ktorejkoľvek strany prepojenia:

```php
$user->isConnectedTo($team);                       // bool
$user->isConnectedToAny(Team::class);              // bool — a class name or a morph alias
$team->hasConnector($user);                        // bool
$team->hasConnectorFromAny(User::class);           // bool

$user->connections;  // connections this model initiated
$team->connectors;   // connections pointing at this model
```

- isConnectedTo(), isConnectedToAny(), hasConnector() a hasConnectorFromAny() počítajú pri zapnutom enforce\_active\_on\_check len aktívne prepojenia.
- isConnectedToAny() a hasConnectorFromAny() prijímajú plný názov triedy alebo zaregistrovaný morph alias — názov triedy sa preloží cez morph mapu, takže nájdu aj prepojenia uložené pod aliasom.
- connections a connectors sú obyčajné relácie MorphMany nad všetkými nezmazanými riadkami bez ohľadu na stav — môžete na ne reťaziť podmienky a cez ne eager-loadovať druhú stranu.

```php
$user->connections()->with('connectable')->get();   // eager-load the other side
$team->connectors()->with('connector')->get();
$team->connectors()->where('status', 'pending')->count();
```

## Scopes a obmedzené relácie

```php
// Constrained relations (return MorphMany you can chain ->get()/->count()).
$user->activeConnections();                 // accepted + not expired
$user->expiredConnections();                // past expiry
$user->expiringConnections($days = 7);      // expiring within N days
$user->connectionsWithPermission('publish'); // honours '*' / 'posts.*'; active only while enforced

// Eloquent scopes on the model / relation.
$user->connections()->active()->get();
$user->connections()->expiringSoon(14)->get();
$user->connections()->withPermission('posts.edit')->get(); // exact, '*', 'posts.*' — any status

// Across every connector.
Connections::expiring(14)->get();
```

| Scope | Relácia v traite | Vyberie |
| --- | --- | --- |
| `active()` | `activeConnections()` | Stav accepted a expires\_at je null alebo v budúcnosti. |
| `expired()` | `expiredConnections()` | expires\_at je nastavené a v minulosti, bez ohľadu na stav. |
| `expiringSoon($days = 7)` | `expiringConnections($days = 7)` | expires\_at v najbližších N dňoch. |
| `withPermission($permission)` | `connectionsWithPermission($permission)` | Niektoré uložené oprávnenie ho udeľuje — presný reťazec, \* alebo koncový segmentový zástupný znak ako posts.\*. Scope berie ľubovoľný stav; relácia pri zapnutom enforce\_active\_on\_check len aktívne prepojenia. |

Scopes sú bežné Eloquent scopes na modeli Connection, takže fungujú v ľubovoľnom dopyte:

```php
use RoundlyConsulting\Connections\Models\Connection;

Connection::query()->active()->withPermission('publish')->count();
Connection::query()->expiringSoon(3)->with(['connector', 'connectable'])->get();
```

## Typované načítanie

connectablesOfType() a connectorsOfType() vracajú samotné prepojené modely, nie riadky Connection. Odovzdajte plný názov triedy alebo zaregistrovaný morph alias:

```php
// Fetch the connected models of a given type (FQCN or morph alias), not the Connection rows.
// Like isConnectedTo() / hasConnector(), only active links count while enforce_active_on_check is on.
$user->connectablesOfType(Team::class);   // Collection<Team>
$user->connectablesOfType('team');        // the same, via a morph-map alias
$team->connectorsOfType(User::class);     // Collection<User>
```

Rovnako ako isConnectedTo() a hasConnector() počíta typované načítanie pri zapnutom enforce\_active\_on\_check len aktívne prepojenia; pri vypnutom príznaku zahŕňa všetky nezmazané prepojenia daného typu.

## 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/connections-for-laravel.md)
