PHPackages                             outl1ne/nova-multiselect-filter - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Search &amp; Filtering](/categories/search)
4. /
5. outl1ne/nova-multiselect-filter

ActiveLibrary[Search &amp; Filtering](/categories/search)

outl1ne/nova-multiselect-filter
===============================

Multiselect filter for Laravel Nova.

5.0.1(1y ago)45802.7k—4.4%22[2 issues](https://github.com/outl1ne/nova-multiselect-filter/issues)[1 PRs](https://github.com/outl1ne/nova-multiselect-filter/pulls)3MITPHPPHP &gt;=8.0

Since Oct 27Pushed 6mo ago3 watchersCompare

[ Source](https://github.com/outl1ne/nova-multiselect-filter)[ Packagist](https://packagist.org/packages/outl1ne/nova-multiselect-filter)[ RSS](/packages/outl1ne-nova-multiselect-filter/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (20)Used By (3)

Nova Multiselect Filter
=======================

[](#nova-multiselect-filter)

[![Latest Version on Packagist](https://camo.githubusercontent.com/93edc6d75bdbf58f4a0c3cefbe9efd5c0f6861615952ea529165c7020dcc7f29/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6f75746c316e652f6e6f76612d6d756c746973656c6563742d66696c7465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/outl1ne/nova-multiselect-filter)[![Total Downloads](https://camo.githubusercontent.com/f6f26598059e7da3e40ecb4bf4e3a49187a61883a640a0090097f709a508c418/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6f75746c316e652f6e6f76612d6d756c746973656c6563742d66696c7465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/outl1ne/nova-multiselect-filter)

This [Laravel Nova](https://nova.laravel.com) package adds a multiselect to Nova's filters.

Requirements
------------

[](#requirements)

- `php: >=8.0`
- `laravel/nova: ^5.0`

Features
--------

[](#features)

- Multi select
- Single select
- Group select
- Search

Screenshots
-----------

[](#screenshots)

### Multiselect

[](#multiselect)

[![Multiselect](docs/multiselect.gif)](docs/multiselect.gif)

### Groupselect

[](#groupselect)

[![Groupselect](docs/groupselect.gif)](docs/groupselect.gif)

Installation
------------

[](#installation)

Install the package in a Laravel Nova project via Composer:

```
composer require outl1ne/nova-multiselect-filter
```

Usage
-----

[](#usage)

The filter can be used when switching `Filter` class with `MultiselectFilter`.

```
use Outl1ne\NovaMultiselectFilter\MultiselectFilter;

class BooksByAuthorFilter extends MultiselectFilter
{
    public function apply(Request $request, $query, $value)
    {
        return $query->whereHas('books', function ($query) use ($value) {
            $query->whereIn('author_id', $value);
        });
    }

    public function options(Request $request)
    {
        return Authors::all()->pluck('name', 'id');
    }
}
```

### Option groups

[](#option-groups)

Option groups are supported. Their syntax is the same as [Laravel's option group syntax](https://nova.laravel.com/docs/2.0/resources/fields.html#select-field).

In this example (from Nova docs), all values are grouped by the `group` key:

```
    public function options(Request $request)
    {
        return [
          'cat' => ['label' => 'Cat', 'group' => 'Pets'],
          'dog' => ['label' => 'Dog', 'group' => 'Pets'],
          'eagle' => ['label' => 'Eagle', 'group' => 'Birds'],
          'parrot' => ['label' => 'Parrot', 'group' => 'Birds'],
        ]
    }
```

Options
-------

[](#options)

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

Optiontypedefaultdescription`options`Array|callable\[\]Options in an array as key-value pairs (`['id' => 'value']`).`placeholder`StringField nameThe placeholder string for the input.`max`NumberInfiniteThe maximum number of options a user can select.`groupSelect`BooleanfalseFor use with option groups - allows the user to select whole groups at once`singleSelect`BooleanfalseMakes the field act as a single select. The returned value will be an array with one element.`optionsLimit`Number1000The maximum number of options displayed at once. Other options are still accessible through searching.Localization
------------

[](#localization)

The translations file can be published by using the following publish command:

```
php artisan vendor:publish --provider="Outl1ne\NovaMultiselectFilter\FieldServiceProvider" --tag="translations"
```

You can then edit the strings to your liking.

Credits
-------

[](#credits)

- [Kaspar Rosin](https://github.com/kasparrosin)
- [Tarvo Reinpalu](https://github.com/Tarpsvo)
- [shentao/vue-multiselect](https://github.com/shentao/vue-multiselect)
- [All Contributors](https://github.com/outl1ne/nova-multiselect-filter/graphs/contributors)

This package was inspired by [klepak/nova-multiselect-filter](https://github.com/klepak/nova-multiselect-filter)

License
-------

[](#license)

This project is open-sourced software licensed under the [MIT license](LICENSE.md).

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance55

Moderate activity, may be stable

Popularity52

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity68

Established project with proven stability

 Bus Factor1

Top contributor holds 90.7% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~92 days

Recently: every ~213 days

Total

18

Last Release

453d ago

Major Versions

1.0.5 → 2.0.02020-12-02

2.0.0 → 4.0.02022-04-29

4.0.8 → 5.0.02024-12-18

PHP version history (3 changes)1.0.0PHP &gt;=7.1.0

2.0.0PHP &gt;=7.2.0

4.0.0PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/f1c2970763f51ca6ffcc1f1b6971a472b6b36a74d5eeb5446fb9d1caab44d016?d=identicon)[Tarpsvo](/maintainers/Tarpsvo)

---

Top Contributors

[![Tarpsvo](https://avatars.githubusercontent.com/u/2018660?v=4)](https://github.com/Tarpsvo "Tarpsvo (49 commits)")[![dmason30](https://avatars.githubusercontent.com/u/20278756?v=4)](https://github.com/dmason30 "dmason30 (2 commits)")[![KasparRosin](https://avatars.githubusercontent.com/u/33309407?v=4)](https://github.com/KasparRosin "KasparRosin (2 commits)")[![richard-raadi](https://avatars.githubusercontent.com/u/69033947?v=4)](https://github.com/richard-raadi "richard-raadi (1 commits)")

---

Tags

filterlaravellaravel-novalaravel-nova-filterlaravelfilterselectmultiselectnovalaravel-nova

### Embed Badge

![Health badge](/badges/outl1ne-nova-multiselect-filter/health.svg)

```
[![Health](https://phpackages.com/badges/outl1ne-nova-multiselect-filter/health.svg)](https://phpackages.com/packages/outl1ne-nova-multiselect-filter)
```

###  Alternatives

[optimistdigital/nova-multiselect-filter

Multiselect filter for Laravel Nova.

45305.4k](/packages/optimistdigital-nova-multiselect-filter)[optimistdigital/nova-multiselect-field

A multiple select field for Laravel Nova.

3403.5M7](/packages/optimistdigital-nova-multiselect-field)[outl1ne/nova-multiselect-field

A multiple select field for Laravel Nova.

3402.9M2](/packages/outl1ne-nova-multiselect-field)[outl1ne/nova-input-filter

An input filter for Laravel Nova

24822.7k](/packages/outl1ne-nova-input-filter)[optimistdigital/nova-input-filter

An input filter for Laravel Nova

24550.6k2](/packages/optimistdigital-nova-input-filter)[klepak/nova-multiselect-filter

Multiselect filter for Laravel Nova

14179.4k2](/packages/klepak-nova-multiselect-filter)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
