pixelcreation / nova-field-sortable
用于对资源进行排序的 Nova 字段。
3.2.0
2022-05-17 11:55 UTC
Requires
- php: >=8.0
- laravel/nova: ^4.0
- spatie/eloquent-sortable: ^4.0
README
描述
此字段使用来自 Spatie 的人的出色 eloquent-sortable 包,为您的资源索引添加重新排序功能。
此包是 Teatrante/nova-field-sortable 的分支,后者又是原始包 Naxon/nova-field-sortable 的分支。它包括对布局的改进
要求
- Nova 4
- spatie/eloquent-sortable(如果尚未安装,此包将为您安装,您只需按照 安装说明 操作即可)。
安装
此包可以通过 Composer 安装。
composer require pixelcreation/nova-field-sortable
从 v3.x 升级到 v4.x
- 您需要提供
Sortable
字段中的排序列名,而不是主键列。
用法
- 请按照 eloquent-sortable 存储库中的 用法说明 操作,使您的模型可排序。
- 在您的 Nova 资源中,使用
PixelCreation\NovaFieldSortable\Concerns\SortsIndexEntries
特性。 - 在您的资源中添加一个名为
$defaultSortField
的公共静态属性,其中包含您的排序列(我建议在主app/Nova/Resource.php
文件中添加它)。 - 将
PixelCreation\NovaFieldSortable\Sortable
字段添加到您的 Nova 资源fields
方法中,使用标签和您的排序列。
示例
<?php namespace App\Nova; use Laravel\Nova\Fields\ID; use Laravel\Nova\Http\Requests\NovaRequest; use Laravel\Nova\Fields\Text; use PixelCreation\NovaFieldSortable\Concerns\SortsIndexEntries; use PixelCreation\NovaFieldSortable\Sortable; class Page extends Resource { use SortsIndexEntries; public static $defaultSortField = 'sort_order'; /** * Get the fields displayed by the resource. * * @param NovaRequest $request * @return array */ public function fields(Request $request) { return [ ID::make()->sortable(), Text::make('Title'), Sortable::make('Order', 'sort_order') ->onlyOnIndex(), ]; } }
致谢
许可协议
MIT 许可协议(MIT)。有关更多信息,请参阅 许可文件。