---
title: "Dôvody — Reports for Laravel | Roundly"
description: "Typované dôvody hlásení cez enum Reason, vlastné slugy v konfigurácii a čítanie dôvodov cez fasádu — slug => popisok, predvolený dôvod a kontroly."
url: https://roundly-consulting.com/sk/open-source/navody/reports-for-laravel/dovody
language: sk
---

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

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

# Dôvody

Každé hlásenie nesie slug dôvodu overený voči config('reports.reasons'). Nepovolený slug vyhodí UnknownReportReasonException, pokiaľ allow\_unknown\_reasons nie je true. Predvolené dôvody zodpovedajú enumu Reason:

| Prípad | Slug | Popisok |
| --- | --- | --- |
| `Reason::Spam` | spam | Spam |
| `Reason::Abuse` | abuse | Abuse |
| `Reason::Harassment` | harassment | Harassment |
| `Reason::Inappropriate` | inappropriate | Inappropriate |
| `Reason::Misinformation` | misinformation | Misinformation |
| `Reason::Other` | other | Other |

## Popisky a možnosti

Reason používa trait Helpers z enums-for-laravel, takže popisky, hodnoty aj možnosti pre výber sú pripravené:

```php
use RoundlyConsulting\Reports\Enums\Reason;

Reason::Abuse->label();             // "Abuse"
Reason::Inappropriate->readable();  // "Inappropriate"
Reason::values();                   // Collection: 'spam', 'abuse', 'harassment', …
Reason::validationRule();           // "in:spam,abuse,harassment,inappropriate,misinformation,other"
Reason::toOptions();                // Collection: ['spam' => 'Spam', 'abuse' => 'Abuse', …]
```

Popisky vznikajú zo slugu cez Str::headline() a prechádzajú prekladačom Laravelu, takže ich môžete preložiť či preformulovať v JSON jazykovom súbore.

## Vlastné dôvody

Vlastné slugy pridajte do zoznamu reasons — validujú sa presne ako vstavané:

```php
// config/reports.php
'default_reason' => 'other',
'reasons' => ['spam', 'abuse', 'harassment', 'inappropriate', 'misinformation', 'other', 'copyright'],
'allow_unknown_reasons' => false,
```

Vlastné slugy nemajú prípad v enume, preto ich odovzdávajte ako reťazce: ->for('copyright'). Ak nastavíte allow\_unknown\_reasons na true, prijme sa akýkoľvek slug bez validácie.

## Validácia vstupu

Reason::validationRule() pokrýva len prípady enumu. Keď pridáte vlastné slugy, validujte voči kľúčom Reports::reasons(), ktoré vracia nakonfigurované slugy s ich popiskami:

```php
use Illuminate\Validation\Rule;
use RoundlyConsulting\Reports\Enums\Reason;
use RoundlyConsulting\Reports\Facades\Reports;

// Enum cases only:
$request->validate(['reason' => ['required', Reason::validationRule()]]);

// Everything in config('reports.reasons'), custom slugs included:
$request->validate(['reason' => ['required', Rule::in(array_keys(Reports::reasons()))]]);
```

## Čítanie povolených dôvodov

Povolenú množinu vám vráti fasáda — pripravenú pre výberový zoznam:

```php
use RoundlyConsulting\Reports\Facades\Reports;

Reports::reasons();                 // ['spam' => 'Spam', 'abuse' => 'Abuse', …] — slug => label
Reports::reasonLabel('spam');       // "Spam" (a custom slug labels as itself)
Reports::defaultReason();           // "other"
Reports::allowsReason('copyright'); // false unless configured or allow_unknown_reasons

// A <select> straight from config, custom slugs included:
foreach (Reports::reasons() as $slug => $label) {
    // <option value="{{ $slug }}">{{ $label }}</option>
}
```

Za týmito metódami stojí singleton ReasonRegistry v kontajneri, ktorý môžete použiť aj priamo:

```php
use RoundlyConsulting\Reports\Support\ReasonRegistry;

$registry = app(ReasonRegistry::class);
$registry->all();                   // list<string> — the slugs; the Reason cases when reasons is unset
$registry->isAllowed('copyright');  // bool — always true when allow_unknown_reasons is on
$registry->allowsUnknown();         // bool
```

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