NovinkaZverejnili sme 50+ Laravel balíkov ako open source
Custom AI apps, agents and automation — Roundly ConsultingRoundly
Všetky balíky
Enums for Laravel

Možnosti pre select

toOptions() vráti kolekciu hodnota => popis pripravenú pre element <select> alebo formulárový komponent; toArray() je tá istá mapa ako obyčajné pole pre JSON a odpovede API:

NewsCategory::toOptions();
// Collection: ['hot-news' => 'Hot News', 'regular-news' => 'Regular News', 'private-news' => 'Private News']

NewsCategory::toArray();
// ['hot-news' => 'Hot News', 'regular-news' => 'Regular News', 'private-news' => 'Private News']

Nie v konfiguračných súboroch

Popisy sa prekladajú, preto možnosti zostavujte za behu — v controlleroch, views a resources — a nie v súbore config/*.php: konfigurácia sa načíta skôr, než existuje prekladač, a cachovaná konfigurácia by popisy zmrazila v jednom jazyku. Do konfiguračného súboru patria hodnoty bez prekladu z values():

use App\Enums\NewsCategory;

// config/news.php — translation-free, safe to cache
return [
    'categories' => NewsCategory::values()->all(),
];

Vo formulári v Blade

Odovzdajte možnosti do view a vykreslite ich — kľúče sú presne tie hodnoty, ktoré prijme validačné pravidlo:

use App\Enums\NewsCategory;
use Illuminate\Contracts\View\View;

final class CreateArticleController
{
    public function __invoke(): View
    {
        return view('articles.create', [
            'categories' => NewsCategory::toOptions(),
        ]);
    }
}
<select name="category">
    @foreach ($categories as $value => $label)
        <option value="{{ $value }}" @selected(old('category') === $value)>{{ $label }}</option>
    @endforeach
</select>

Popisy sa riadia aktívnym jazykom, takže preložená aplikácia vykreslí preložené možnosti bez ďalšieho kódu. Pri čistom enume sú kľúčmi názvy prípadov; pri celočíselnom enume sú kľúče celé čísla.

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

Odoslaním daru súhlasíte s našimi podmienkami prijímania darov.

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.