{
//
"require": {
//
"spatie/laravel-enum": "^2.5",
}
//
}
use Spatie\Enum\Laravel\Enum;
class TechnologyType extends Enum
{
public static function toLabels(): array
{
return [
'frontend'=> 'Frontend',
'backend' => 'Backend',
'devops' => 'Devops',
'tools' => 'Tools',
'integrations' => 'Integrations',
];
}
}
use Illuminate\Database\Eloquent\Model;
class Technology extends Model
{
//
public $casts = [
'type' => TechnologyType::class.':nullable',
'recommended_by' => 'array',
];
//
}
use Laravel\Nova\Fields\Select;
class Technology extends Resource
{
//
public function fields(Request $request): array
{
return [
//
Select::make('Type')
->sortable()
->nullable(false)
->rules(['required'])
->options(TechnologyType::toLabels()),
//
];
}
}
Additional resources on enum:
-
Povilas Korop | www.youtube.com
Published on
-
Povilas Korop | www.youtube.com
Published on