---
title: "Enumy — Approvals for Laravel | Roundly"
description: "ApprovalStatus a ApprovalRule — doménové metódy, popisky, možnosti pre selecty a validačné pravidlá zosúladené s prípadmi."
url: https://roundly-consulting.com/sk/open-source/navody/approvals-for-laravel/enumy
language: sk
---

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

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

# Enumy

Oba enumy sú podložené reťazcom:

| Enum | Prípady (hodnota) |
| --- | --- |
| `ApprovalStatus` | Pending (pending), Approved (approved), Rejected (rejected), Cancelled (cancelled), Expired (expired) |
| `ApprovalRule` | Unanimous (unanimous), Quorum (quorum), Any (any), Weighted (weighted) |

## Doménové metódy

```php
use RoundlyConsulting\Approvals\Enums\ApprovalRule;
use RoundlyConsulting\Approvals\Enums\ApprovalStatus;

ApprovalStatus::Pending->isPending();     // true
ApprovalStatus::Rejected->isDecided();    // true — approved or rejected
ApprovalStatus::Cancelled->isFinal();     // true — anything but pending
ApprovalStatus::Rejected->isLive();       // true — pending, approved or rejected: still the actor's live decision
ApprovalStatus::Approved->canTransitionTo(ApprovalStatus::Cancelled);   // true

ApprovalRule::Quorum->isWeighted();       // true — Quorum and Weighted resolve on summed weight
ApprovalRule::Any->isWeighted();          // false
```

## Popisky, možnosti a validácia

Oba enumy používajú zdieľaný trait Helpers z enums-for-laravel, takže nad doménovými metódami ponúkajú celú sadu pomocníkov — bez jazykového súboru, ktorý by ste museli udržiavať:

```php
ApprovalStatus::values()->all();   // ['pending', 'approved', 'rejected', 'cancelled', 'expired']
ApprovalStatus::labels()->all();   // ['Pending', 'Approved', 'Rejected', 'Cancelled', 'Expired']
ApprovalStatus::options();         // Collection of {value, label, name} option DTOs for selects
ApprovalStatus::validationRule();  // 'in:pending,approved,rejected,cancelled,expired'
ApprovalStatus::tryFromName('Approved');   // ApprovalStatus::Approved

ApprovalStatus::Approved->readable();      // 'Approved' (translated, headline-cased)
ApprovalStatus::Approved->isIn([ApprovalStatus::Approved, ApprovalStatus::Rejected]);   // true

ApprovalRule::options();              // a ready-made rule picker
ApprovalRule::validationRule();       // 'in:unanimous,quorum,any,weighted'
ApprovalRule::Weighted->readable();   // 'Weighted'
```

validationRule() vložte priamo do pravidiel requestu a options() do selectu či JSON odpovede — obe sa automaticky držia v súlade s prípadmi:

```php
$request->validate([
    'status' => ['required', ApprovalStatus::validationRule()],
    'rule' => ['required', ApprovalRule::validationRule()],
]);
```

K dispozícii sú aj names(), toOptions(), toArray(), collect(), count(), random(), fromName(), fromLabel() / tryFromLabel(), hasName() / hasValue(), label(), is() / isNot() / isNotIn() a callbacky whenIs…().

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