Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Nova Multiselect Field

Nova Multiselect Field Laravel Package

optimistdigital/nova-multiselect-field

A searchable multiselect field for Laravel Nova with tag support, relationship-friendly options, and a clean Vue-powered UI. Add multi-value selects to resources and forms while keeping Nova’s native look and feel, with flexible configuration for options and display.

View on GitHub
Deep Wiki
Context7

A multiple select field for Laravel Nova.

Frequently asked questions about Nova Multiselect Field
How do I install the nova multiselect field in Laravel Nova?
Install it with Composer and add the field class to the fields() method of the Nova resource that needs it. Assets ship pre-compiled, so there is no npm build step in your pipeline. Realistically the work is a half-day including a UI review of the form, detail, and index views. Confirm the canonical package name on Packagist before pinning, since the vendor moved from optimistdigital to outl1ne.
Which Laravel Nova versions does this multiselect field support?
Nova field packages bundle compiled Vue assets against a specific Nova front-end toolchain, so the declared laravel/nova constraint in composer.json is the only reliable answer. Check that constraint against your pinned Nova version rather than assuming Nova 4 or 5 compatibility. A Nova major upgrade routinely breaks fields that look source-compatible, so verify the rendered field in a browser and not just a successful composer install.
Is the package optimistdigital/nova-multiselect-field or outl1ne/nova-multiselect-field?
The package identity moved from optimistdigital/* to outl1ne/*, so both names may appear in older tutorials and composer.json files. Check Packagist to see whether the optimistdigital name is abandoned or aliased and which one is canonical, then pin the canonical name. Relying on an abandoned alias is a future composer update failure waiting to happen.
Does the field support belongsToMany relationships and pivot sync?
Options can be sourced in a relationship-friendly way, but whether selections persist through pivot sync or only into a scalar/JSON attribute is the key design question and must be confirmed against the package docs. The field does not impose a persistence contract; the storage shape is whatever you configure. If selections will ever be queried, joined, or reported on, model them as belongsToMany and use the package only for input UX.
How are selected values stored in the database with this field?
Storage shape depends entirely on how you configure the field, which is the one decision that must be made deliberately before code lands. The common pattern is a JSON column holding an array of selected keys, though a delimited string or a relation is also possible. Document the exact serialization and confirm it is stable across package releases, because changing it later means a backfill. Decide between a JSON column and a pivot table with your data team up front.
Can I filter or search by the multiselect field in the Nova index?
Do not assume index filtering or search works out of the box; verify it in the browser on a low-traffic resource before rolling out. If the value lives in a JSON blob, filtering and searchability are limited, which is the main reason to model queryable selections as a belongsToMany relation instead. Treat the field as input UX and put queryable data in a proper relation.
Why does my Nova multiselect field render blank or look broken after upgrading Nova?
Nova field packages ship compiled Vue assets tied to a particular Nova front-end toolchain, so a Nova major upgrade can break a field that appears source-compatible. Asset incompatibility usually fails silently at runtime, so check the browser console and the rendered component, not just composer install. Pin a field version known to work with your Nova version, or hold the Nova upgrade until the field is confirmed compatible.
How do I migrate existing data into the multiselect field?
Swapping from a plain text or JSON column starts with replacing the field class, then backfilling existing rows into the exact serialization the field expects, typically a JSON array. Write the backfill as a one-way Artisan command with a dry-run and keep the original column until the field is validated in production. Run it against a restored production snapshot first, then convert one low-traffic resource end-to-end as a canary.
What Laravel and PHP versions does this package support?
The expected envelope is Laravel 9 through 11 on PHP 8.1+, but you should read the actual constraint strings in composer.json rather than assuming. The package adds no service provider bindings, migrations, config publishing, or middleware, so it never touches request or response paths at runtime. Deployments on Forge, Vapor, or containers are unaffected because there are no binaries or external services involved.
Is this package safe for production, and what should I do if it gets abandoned?
It is an admin-layer leaf field, so it is only suitable for internal Nova surfaces and should never be exposed on a customer-facing route. The MIT license removes legal friction but also any support obligation, and the project is single-maintainer with a small community and few Packagist dependents. If maintenance stalls, the fallback is a belongsToMany field plus a small custom Vue component, so keep the storage shape portable. Gate adoption on three checks: the laravel/nova constraint, the PHP constraint, and declared storage support.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core