mblsolutions / report
Laravel 报告包
v5.1.0
2024-02-21 15:10 UTC
Requires
- php: ^8.0
- ext-json: *
- doctrine/dbal: ^3.3
- illuminate/cache: ^9.0|^10.0
- illuminate/console: ^9.0|^10.0
- illuminate/contracts: ^9.0|^10.0
- illuminate/database: ^9.0|^10.0
- illuminate/events: ^9.0|^10.0
- illuminate/filesystem: ^9.0|^10.0
- illuminate/http: ^9.0|^10.0
- illuminate/queue: ^9.0|^10.0
- illuminate/support: ^9.0|^10.0
- laravel/legacy-factories: ^1.2
- lerouse/laravel-repository: ^2.4
- maatwebsite/excel: ^3.1
- psr/simple-cache: ^2.0
Requires (Dev)
- mockery/mockery: ~1.0
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.6
- dev-master
- v5.1.0
- v5.0.0
- v4.x-dev
- v4.3.1
- v4.3.0
- v4.2.0
- v3.x-dev
- v3.2.0
- v3.1.2
- v3.1.1
- v3.1.0
- v3.0.1
- v3.0.0
- v2.x-dev
- v2.7.7
- v2.7.6
- v2.7.5
- v2.7.4
- v2.7.3
- v2.7.2
- v2.7.1
- v2.7.0
- v2.6.4
- v2.6.3
- v2.6.2
- v2.6.0
- v2.5.0
- v2.4.1
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.2
- v2.0.0
- v1.x-dev
- v1.3.0
- v1.2
- v1.1.1
- v1.1.0
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.1
- v1.0.0
- dev-AB#53749-Report-Package-Publish-Migrations-Conditionally--master
- dev-AB#53749-Report-Package-Publish-Migrations-master
- dev-AB#53749-Report-Package-Publish-Migrations-Conditionally
- dev-bugfix/AB#53749-Report-Package-Publish-Migrations
- dev-feature/laravel-v10-upgrade
This package is auto-updated.
Last update: 2024-09-24 15:13:57 UTC
README
使用此包将 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
添加路由后,以下端点可供您使用
视图路由(同步)
排队视图路由(异步)
计划报告路由
导出路由
管理路由
报告事件
事件在报告创建/完成的关键时刻触发