bessamu / ajax-multiselect-nova-field
A Laravel Nova field.
Installs: 25 614
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 2
Forks: 8
Open Issues: 4
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2025-05-27 21:11:11 UTC
README
Laravel Nova package add vue-multiselect field work with ajax requests. Field values save as json string.
Getting Started
Installing
Install the package in a project via composer:
composer require bessamu/ajax-multiselect-nova-field
Usage
Ajax multiselect field have a model
option for searching by ajax queries.
<?php namespace App\Nova; use App\Models\Catalog\Product; use Bessamu\AjaxMultiselectNovaField\AjaxMultiselect; class NewsResource extends Resource { public function fields(Request $request) { return [ AjaxMultiselect::make('Products', 'products') ->optionsModel(Product::class) ->optionsLabel('model') ->queryWhere('enabled', 1) ->placeholder('Select products') ->maxOptions(5) ]; } }
Option optionsModel
required for this nova field:
- Parameter is model class string, must be extended by
Illuminate\Database\Eloquent\Model
.
Values saved as json string in a column.
All options
option | required | parameters | description |
---|---|---|---|
optionsModel() |
require | string $modelClass |
Set a model class to search. |
optionsLabel() |
optional | string $searchLabel |
Set a label for frontend output and search models. By default searching label is 'name' . |
queryWhere() |
optional | string $column, string $value, string $operator = '=' |
Set query by a column, value and operator |
placeholder() |
optional | string $placeholder |
Set a placeholder for vue-multiselect input. |
maxOptions() |
optional | int $max |
Set the maximal number of selections and limit returned models |
orderBy() |
optional | string $column, string $direction = 'asc' |
Order your outputs by column name and use direction asc (default) or desc . |
Authors
- Korotkov Pavel - Initial work - Bessamu
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details