---
title: "Vnorené tímy — Teams for Laravel | Roundly"
description: "Voliteľné hierarchie firma → oddelenie → tím: presúvajte tímy, prechádzajte strom, obmedzte hĺbku a nechajte roly z vyšších tímov platiť nižšie."
url: https://roundly-consulting.com/sk/open-source/navody/teams-for-laravel/vnorene-timy
language: sk
---

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

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

# Vnorené tímy

Pre hierarchie ako firma → oddelenie → tím. Vnáranie je predvolene vypnuté — nastavte TEAMS\_NESTING=true po spustení migrácie parent\_id (pozrite Inštalácia); kým je vypnuté, stĺpec nič nečíta. Členstvo zostáva viazané na konkrétny tím:

```php
use RoundlyConsulting\Teams\Facades\Teams;

// .env → TEAMS_NESTING=true (after the parent_id migration ran)
Teams::for($department)->moveUnder($company);   // Team — place under a parent
Teams::for($department)->moveToRoot();          // Team — detach

$department->parent;         // ?Team
$company->children;          // Collection<Team>
$team->ancestors();          // nearest first; stops at a soft-deleted ancestor
$company->descendants();     // level by level
$team->root();               // the topmost ancestor, or the team itself
$team->depth();              // 0 for a root team
```

moveUnder() a moveToRoot() spustia MoveTeamAction, ktorá na čas transakcie zamkne oba riadky, uloží zmenu a spustí TeamMoved s tímom, novým rodičom a kľúčom predchádzajúceho rodiča; Teams::fake() ju zaznamená. Každá zmena rodiča sa overí pri uložení — cez akciu aj cez priame $team->update(\['parent\_id' => …\]) — a vyhodí TeamHierarchyException, ak je vnáranie vypnuté, ak je nový rodič samotný tím alebo jeho potomok (aj mäkko zmazaný), alebo ak by sa niektorý tím presúvaného podstromu dostal hlbšie ako nesting.max\_depth (predvolene 4, 1 – 100; koreň má hĺbku 0). Odpojenie je povolené vždy.

Tím, ktorý má ešte podriadené tímy, natrvalo zmazať nejde — najprv ich presuňte alebo zmažte. Mäkké zmazanie rodiča väzbu ponechá, no zastaví ancestors() aj dedenie rolí, pretože zmazaný tím neudeľuje nič. Každé prechádzanie je ohraničené max\_depth a pamätá si navštívené riadky, takže ani dáta, ktoré surový dopyt zacyklil, ho nezaseknú.

## Roly sa dedia smerom nadol

S TEAMS\_INHERIT\_ROLES\_DOWN=true — účinné len pri zapnutom vnáraní — platí rola v tíme aj vo všetkých tímoch pod ním, nikdy nad ním:

- Dedí sa — memberHasPermission() a hasTeamPermission(), vyhodnotené voči sade rolí tímu, v ktorom je rola držaná; memberHasRole(), hasTeamRole() a @teamRole; ability teams.<oprávnenie> v Gate, @teamPermission a tímové policies; isAccessibleBy(), a teda middleware teams.context, switchTo(), setCurrentMany() a opätovné overenie pri jobe vo fronte; pri moste k permissions aj priradenia v nadradenom tíme.
- Nededí sa — hasActiveMember(), hasMember(), findMember(), isActiveMemberOf(), teamRole(), belongsToTeam() a isMemberOf(): členstvo zostáva viazané na tím. Aj vlastníctvo — isOwnedBy(), teams.owner, @teamOwner a before() v policy — patrí konkrétnemu tímu, hoci oprávnenia roly owner vlastníka nadradeného tímu sa dedia.
- Expirované členstvá a tie, ktoré ešte nezačali, sa nepočítajú na žiadnej úrovni.

Dáta viazané na tím zvyčajne ukazujú na koreňový tím:

```php
// Team-scoped data usually points at the root team:
Teams::switchTo($team->root());
```

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