own3d / nova-order-field
一个Laravel Nova字段。
2.1.1
2022-04-28 18:46 UTC
Requires
- php: >=7.1.0
- laravel/nova: ^2.0|^3.0|^4.0
- spatie/eloquent-sortable: ^3.4|^4.0
README
描述
一个字段,通过Spatie的eloquent-sortable
包为您的Laravel Nova资源索引添加重新排序功能。
演示
安装
此包可以通过Composer安装。
composer require michielkempen/nova-order-field
用法
- 按照eloquent-sortable仓库中的使用说明进行操作,以便使您的模型可排序。
- 将
MichielKempen\NovaOrderField\Orderable
特性添加到您的Nova资源中。 - 在您的资源中添加一个名为
$defaultOrderField
的公共静态属性,包含您的排序列。 - 在您的Nova资源中添加到
fields
方法的OrderField
。
分组
如果您的模型/表有一个分组字段(通常是外键):id,
user_id
, title, order_column
并且您希望上述方法考虑它,您可以在模型中创建一个buildSortQuery
方法
public function buildSortQuery() { return static::query()->where('user_id', $this->user_id); }
这将限制计算仅限于模型实例的字段值。
示例
use MichielKempen\NovaOrderField\Orderable; use MichielKempen\NovaOrderField\OrderField; class Page extends Resource { use Orderable; public static $defaultOrderField = 'order'; public function fields(Request $request) { return [ OrderField::make('Order'), ]; } }