---
title: "Mazanie držiteľov — Permissions for Laravel | Roundly"
description: "Zabráňte, aby nový záznam zdedil oprávnenia zmazaného držiteľa — odpojte ich pri mazaní alebo prečistite osirotené riadky."
url: https://roundly-consulting.com/sk/open-source/navody/permissions-for-laravel/mazanie-drzitelov
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)

# Mazanie držiteľov

model\_roles a model\_permissions sú polymorfné pivoty, preto nemôžu mať cudzí kľúč na tabuľku držiteľa — zmazaním používateľa jeho riadky s priradeniami zostanú. Ak vaša aplikácia niekedy znovu použije primárne kľúče (truncate a nový seed, importy, iné než autoinkrementálne stratégie), nový záznam so starým id by potichu zdedil roly a oprávnenia zmazaného držiteľa. Predídete tomu jedným z dvoch spôsobov.

## Odpojenie pri mazaní

Volajte forgetAllAuthorization() z hooku deleting (alebo deleted) modelu — je to skratka pre Permissions::for($model)->forgetAllAuthorization(). Odpojí všetky roly a priame oprávnenia v jednej transakcii a po potvrdení zápisu vyprázdni cache:

```php
use Illuminate\Foundation\Auth\User as Authenticatable;
use RoundlyConsulting\Permissions\Concerns\HasRoles;

class User extends Authenticatable
{
    use HasRoles;

    protected static function booted(): void
    {
        static::deleting(fn (self $model) => $model->forgetAllAuthorization());
    }
}
```

## Prečistenie osirotených riadkov

Alebo pravidelne upratujte. Permissions::pruneOrphans() zmaže riadky pivotov, ktorých model\_type + model\_id už neukazuje na existujúci model — vrátane riadkov, ktorých morph typ už nezodpovedá žiadnej triede — a vráti počet odstránených riadkov:

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

Permissions::pruneOrphans(); // int — rows deleted
```

Príkaz na prečistenie spraví to isté a vypíše počet:

```bash
php artisan permissions:prune-orphans
```

Naplánujte ho, nech beží automaticky:

```php
// routes/console.php
use Illuminate\Support\Facades\Schedule;

Schedule::command('permissions:prune-orphans')->daily();
```

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