webard/nova-biloquent

v1.1.0 2024-02-20 10:24 UTC

This package is auto-updated.

Last update: 2024-09-04 17:57:53 UTC


README

用于 Eloquent 模型的报告,以 Nova 资源的形式显示。

更多信息请见 http://github.com/webard/biloquent

该软件包处于开发阶段,处于非常早期。

定义资源

示例基于需要总金额和 created_at 字段的 Order 模型。

创建文件 App\Nova\OrderReport.php

declare(strict_types=1);

namespace App\Nova;

use Webard\NovaBiloquent\NovaReport;
use Laravel\Nova\Fields\BelongsTo;
use Laravel\Nova\Fields\Number;
use Laravel\Nova\Fields\Text;
use Laravel\Nova\Http\Requests\NovaRequest;
use App\Nova\User;

class OrderReport extends NovaReport
{
    public static $model = \App\Reports\OrderReport::class;

    public static string $datasetResource = \App\Nova\Order::class;

    public function reportFields(NovaRequest $request): array
    {
        return [
            Text::make('Year', 'year')->sortable(),
            Text::make('Month', 'month')->sortable(),
            Text::make('Day', 'day')->sortable(),
            Text::make('Date', 'date')->sortable(),
            BelongsTo::make('Customer', 'customer', User::class)->sortable(),
            Number::make('Total orders', 'total_orders')->sortable()->filterable(),
            Number::make('Avg. amount', 'average_amount')->sortable()->filterable(), 
        ];
    }
}