own3d/nova-order-field

一个Laravel Nova字段。

2.1.1 2022-04-28 18:46 UTC

This package is auto-updated.

Last update: 2024-09-22 17:01:21 UTC


README

Latest Version on Packagist Total Downloads

描述

一个字段,通过Spatie的eloquent-sortable包为您的Laravel Nova资源索引添加重新排序功能。

演示

Demo

安装

此包可以通过Composer安装。

composer require michielkempen/nova-order-field

用法

  1. 按照eloquent-sortable仓库中的使用说明进行操作,以便使您的模型可排序。
  2. MichielKempen\NovaOrderField\Orderable特性添加到您的Nova资源中。
  3. 在您的资源中添加一个名为$defaultOrderField的公共静态属性,包含您的排序列。
  4. 在您的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'),
        ];
    }
}