Select

You're browsing the documentation for an old version of MoonShine. Consider upgrading your project to MoonShine 2.x.

The text field includes all the basic methods and additional methods for select fields

use MoonShine\Fields\Select;
 
//...
 
public function fields(): array
{
return [
Select::make('Country', 'country_id')
->options([
'value 1' => 'Option Label 2',
'value 2' => 'Option Label 2'
])
];
}
 
//...

# Nullable

If you need to save NULL, then you need to add a nullable method

Select::make('Country', 'country_id')
->nullable()

# Groups

You can combine values into groups

Select::make('City')->options([
'Italy' => [
1 => 'Rome',
2 => 'Milan'
],
'France' => [
3 => 'Paris',
4 => 'Marseille'
],
]),

# Multiple select

To select multiple values, you need the multiple method

Select::make('Country', 'country_id')
->multiple()

The field in the database must be of the text or json type.
You also need to add a cast for the eloquent model - json or array or collection.

# Search

If you want to add a search among values, you need to add the searchable method

Select::make('Country', 'country_id')
->searchable()