slaveniangooner / searchable-select
一个 Laravel Nova 字段。
此包的官方仓库似乎已不存在,因此该包已被冻结。
1.3.2
2019-12-04 08:26 UTC
Requires
- php: >=7.1.0
README
为 Laravel Nova 提供的可搜索选择字段。此字段结合了 BelongsTo
字段和 Select
字段的特性。
基本是一个常规选择字段,其中您指定要搜索的资源,无需“关系”。这意味着,您也可以将其用于数据库中额外的 JSON 字段。
安装
Composer
composer require sloveniangooner/searchable-select
使用方法
与常规选择字段类似,但您提供的是 resource
方法而不是 options
方法,其中包含资源名称。
use Sloveniangooner\SearchableSelect\SearchableSelect; ... SearchableSelect::make('Content', 'content_id')->resource("contents") ... or SearchableSelect::make("Content", "content_id")->resource(\App\Nova\Content::class)
您可以使用所有常规选项,例如
SearchableSelect::make('Content', 'content_id') ->resource("contents") ->help("Help text") ->displayUsingLabels() ->nullable()
但也可以使用三个额外选项
SearchableSelect::make('Content', 'content_id') ->resource("contents") ->label("custom_label_field") // Defaults to the static $title attribute of the resource class ->labelPrefix("custom_prefix_field") // Allows you to prefix the label field with one other field, i.e. "code":"label" ->value("custom_value_field") // Defaults to 'id'
您现在也可以选择多选选项。需要在数据库中有一个 text
或 json
字段。
SearchableSelect::make('Content', 'content_id') ->resource("contents") ->multiple() ->displayUsingLabels() ->nullable()
另一个选项是定义搜索中显示的项目最大数量。(默认:20)
SearchableSelect::make("Content", "content_id") ->resource("contents") ->max(10)
您可以使用基模型搜索方法而不是 Nova 资源搜索方法,使用 useBaseSearch()
。
SearchableSelect::make('Content', 'content_id') ->resource("contents") ->useBaseSearch()