A multiple select field for Laravel Nova.

1.1.5 2019-08-16 07:09 UTC


This Laravel Nova package adds a multiselect to Nova's arsenal of fields.


Detail View

Form View

Index View


Install the package in a Laravel Nova project via Composer:

composer require optimistdigital/nova-multiselect-field


The field is used similarly to Nova's native Select field. The field type in the database should be text-based (ie string, text or varchar), selected values are stored as a JSON array.

use OptimistDigital\MultiselectField\Multiselect;

public function fields(Request $request)
    return [
        ::make('Favourite football teams', 'football_teams')
          'liverpool' => 'Liverpool FC',
          'tottenham' => 'Tottenham Hotspur',
          'bvb' => 'Borussia Dortmund',
          'bayern' => 'FC Bayern Munich',
          'barcelona' => 'FC Barcelona',
          'juventus' => 'Juventus FC',
          'psg' => 'Paris Saint-Germain FC',

        // Optional:
        ->placeholder('Choose football teams')


Possible options you can pass to the field using the option name as a function, ie ->placeholder('Choose peanuts').

Option type default description
options Array [] Options in an array as key-value pairs (['id' => 'value']).
placeholder String Field name The placeholder string for the input.
max Number Infinite The maximum number of options a user can select.
optionsLimit Number 1000 The maximum number of options displayed at once. Other options are still accessible through searching.
resolveForPageResponseUsing Callable null Only for use in conjunction with Page Manager. Allows you to format the value before it is returned through the API.
nullable Boolean false If the field is nullable an empty select will result in null else an empty array ([]) is stored.



This project is open-sourced software licensed under the MIT license.