Laravel 报告包


README

Laravel Report Build

使用此包将 Laravel 报告功能导入任何 Laravel 6+ 应用程序。

安装

使用 composer 安装 Laravel Report。

php composer require mblsolutions/report

将包配置复制到您的本地配置。

php artisan vendor:publish --tag=report-config

Laravel Report 包含自己的数据库迁移,一旦安装完成,运行迁移。

php artisan migrate

使用

将包引入到您的项目中后,您可以配置希望使用的包部分。

路由

要在您的应用程序中启用包的 json api 路由,请将以下内容添加到路由文件中。

Report::routes();

管理路由

要配置仅在报告管理/创建路由周围的自定义中间件/守卫。

Report::manageRoutes();

视图路由

要配置仅在报告查看路由周围的自定义中间件/守卫。

Report::viewRoutes();

导出路由

要配置仅在报告导出结果路由周围的自定义中间件/守卫。

Report::exportRoutes();

应用自定义中间件/守卫

要将中间件应用到路由,将路由包裹在中间件组中。

Route::middleware(['admin'])->group(function () {
    Report::manageRoutes();
});

Route::middleware(['user'])->group(function () {
    Report::viewRoutes();
});

Route::middleware(['web'])->group(function () {
    Report::exportRoutes();
});

要将守卫应用到路由,将路由包裹在中间件组中。

Route::middleware(['can:manage-reports'])->group(function () {
    Report::manageRoutes();
});

Route::middleware(['can:view-reports'])->group(function () {
    Report::viewRoutes();
});

报告选择参数模型

要启用创建/渲染报告时的选择选项,您必须在 report.php 配置文件中添加要报告的可用模型类型。任何添加到该数组的模型都将在新报告字段创建时可用。

添加到数组的模型应实现 \MBLSolutions\Report\Interfaces\PopulatesReportOption 接口

请注意:我们建议不要使用大型记录集作为选择类型,因为这可能会导致可用性/浏览器性能问题。

[
    'models' => [
        \App\User::class,
        \App\Order::class
    ]
]

计划报告

要启用计划报告,请将以下行添加到您的 Laravel 应用程序的 \App\Console\Kernel 文件的 schedule 方法中。

$schedule->command(\MBLSolutions\Report\Console\Commands\DispatchScheduledReportsCommand::class)->hourly();

报告 JSON API

添加路由后,以下端点可供您使用

视图路由(同步)

排队视图路由(异步)

计划报告路由

导出路由

管理路由

报告事件

事件在报告创建/完成的关键时刻触发