---
title: "Rýchly štart — Enums for Laravel | Roundly"
description: "Pridajte do enumu trait Helpers a jedným riadkom získate popisy, možnosti pre select, vyhľadávanie, validáciu aj porovnania."
url: https://roundly-consulting.com/sk/open-source/navody/enums-for-laravel/rychly-start
language: sk
---

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

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

# Rýchly štart

Pridajte trait RoundlyConsulting\\Enums\\Helpers do ľubovoľného enumu. Backed enumy (s reťazcovými alebo celočíselnými hodnotami) dostanú všetky metódy:

```php
namespace App\Enums;

use RoundlyConsulting\Enums\Helpers;

enum NewsCategory: string
{
    use Helpers;

    case HotNews = 'hot-news';
    case RegularNews = 'regular-news';
    case PrivateNews = 'private-news';
}
```

Všetky pomocné metódy sú odteraz dostupné na enume aj na jeho prípadoch:

```php
NewsCategory::HotNews->label();       // "Hot News"
NewsCategory::values();               // ['hot-news', 'regular-news', 'private-news']
NewsCategory::toOptions();            // ['hot-news' => 'Hot News', 'regular-news' => 'Regular News', ...]
NewsCategory::options();              // Collection<EnumOption> for JS selects
NewsCategory::fromName('HotNews');    // NewsCategory::HotNews
NewsCategory::tryFromLabel('Nope');   // null
NewsCategory::validationRule();       // 'in:hot-news,regular-news,private-news'
NewsCategory::random();               // a random case
NewsCategory::count();                // 3

NewsCategory::HotNews->isIn([NewsCategory::HotNews, NewsCategory::RegularNews]); // true
```

Metódy vracajúce kolekcie — names(), values(), labels(), toOptions() a ďalšie — vracajú inštancie Illuminate\\Support\\Collection; komentáre pre prehľadnosť zobrazujú ich obsah ako pole.

## S Eloquentom

Trait sa bez problémov kombinuje s natívnym enum castom Laravelu, takže atribút modelu dostanete ako prípad enumu so všetkými pomocnými metódami:

```php
use App\Enums\NewsCategory;
use Illuminate\Database\Eloquent\Model;

final class Article extends Model
{
    /**
     * @return array<string, string>
     */
    protected function casts(): array
    {
        return [
            'category' => NewsCategory::class,
        ];
    }
}

$article->category->label();                       // "Hot News"
$article->category->is(NewsCategory::PrivateNews); // false
```

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