---
title: "Priraďovanie rolí — Permissions for Laravel | Roundly"
description: "Priraďujte, odoberajte a synchronizujte roly na ľubovoľnom držiteľovi; oprávnenia roly prejdú na každý model, ktorý ju drží."
url: https://roundly-consulting.com/sk/open-source/navody/permissions-for-laravel/priradovanie-rol
language: sk
---

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

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

# Priraďovanie rolí

Roly priraďujte cez Permissions::for($holder). assignRole je aditívne a variadické, removeRole rolu odpojí a syncRoles z danej množiny spraví presnú množinu rolí:

```php
use RoundlyConsulting\Permissions\Facades\Permissions;

Permissions::for($user)->assignRole('administrator');
Permissions::for($user)->assignRole('editor', 'reviewer');   // variadic, additive
Permissions::for($user)->assignRole(['editor', $role]);      // arrays, Role models, backed enums

Permissions::for($user)->removeRole('administrator');
Permissions::for($user)->syncRoles(['editor']);              // exact role set
Permissions::for($user)->forgetAllAuthorization();           // every role and direct grant
```

Prijíma názvy, backed enumy, modely Role, polia aj vnorené iterovateľné štruktúry. Neznámy názov roly vyhodí RoleDoesNotExist; neuložený model Role vyhodí PermissionException. syncRoles beží v transakcii, takže súbežná kontrola nikdy neuvidí prázdnu množinu rolí uprostred synchronizácie.

Zápis rolí vyžaduje držiteľa s HasRoles — Permissions::for($role)->assignRole() vyhodí PermissionException, pretože Role drží oprávnenia, nikdy nie roly. Na modeli sú metódy z HasRoles len skratkou pre tie isté volania:

```php
$user->assignRole('administrator');
$user->removeRole('administrator');
$user->syncRoles(['editor']);
$user->forgetAllAuthorization();
```

## Dedenie oprávnení cez roly

Oprávnenia udeľte role raz a zdedí ich každý držiteľ. Zmeníte rolu a zmena sa prejaví u všetkých držiteľov — bez zápisu pre každého používateľa:

```php
use RoundlyConsulting\Permissions\Facades\Permissions;

Permissions::permission('articles.publish');
Permissions::for(Permissions::role('editor'))->givePermissionTo('articles.publish');

Permissions::for($user)->assignRole('editor');
$user->hasPermissionTo('articles.publish'); // true — inherited via the role
```

## Odobratie všetkého

Permissions::for($holder)->forgetAllAuthorization() odpojí všetky roly aj všetky priame oprávnenia v jednej transakcii. Použite ho pri mazaní držiteľa — pozri Mazanie držiteľov.

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