gekich / nested-tree-filter
一个 Laravel Nova 嵌套树过滤器。
1.0.0
2021-11-18 15:05 UTC
Requires
- php: ^7.3|^8.0
- kalnoy/nestedset: ^6.0
This package is auto-updated.
Last update: 2024-09-18 21:45:32 UTC
README
为 Laravel Nova 定制的嵌套树过滤器。
此过滤器使用 kalnoy/nestedset 包提供的树。
此过滤器底层使用 riophae/vue-treeselect。
安装
假设您需要过滤与嵌套 Category
模型相关的 Product
。
首先,需要使用 gekich/nested-tree-filter
composer require gekich/nested-tree-filter
使用 nova:filter 创建新的过滤器,例如
php artisan nova:filter CategoryFilter
使您新创建的类扩展 Gekich\NestedTreeFilter\NestedTreeFilter
use Gekich\NestedTreeFilter\NestedTreeFilter; class CategoryFilter extends NestedTreeFilter { // }
从新创建的类 CategoryFilter 中移除所有代码,并设置
class CategoryFilter extends NestedTreeFilter { public $filterModel = \App\Category::class; // - nested tree model public $filterRelation = 'categories'; // - relation that filter uses public $name = 'Categories filter'; // - filter name public $idKey = 'id'; // - id column public $labelKey = 'name'; // - label column name }
还有占位符选项
public $placeholder = 'Select...';
以及多选选项
public $multiple = true;
使用方法
在 Laravel nova Product
资源中包含您在安装期间创建的过滤器
use App\Nova\Filters\CategoryFilter; class Product extends Resource { .. public function filters(Request $request) { return [ CategoryFilter::make() ]; }
过滤器已准备好使用。您可以将此过滤器应用于在 $filterRelation
中设置的资源关系
贡献
请随意提出更改建议,要求新功能或自行修复错误。
希望此包对您有所帮助。
许可
MIT 许可证(MIT)。有关更多信息,请参阅许可文件。