allanvb-noor/nova-exports

允许您导出 Laravel Nova 资源的包。

1.1.3 2022-10-28 19:21 UTC

This package is auto-updated.

Last update: 2024-08-28 23:14:00 UTC


README

Laravel Nova 导出资源包

Packagist Version GitHub last commit License Sonar

此包为您的 Nova 应用程序添加了一个通用的导出操作。

需求

  • laravel/nova: ^3.0
  • gobrightspot/nova-detached-actions: ^1.1
  • optimistdigital/nova-multiselect-field: ^2.0
  • kpolicar/nova-date-range: dev-master
  • rap2hpoutre/fast-excel: ^2.5

用法

要使用导出操作,您必须将其添加到资源的 actions 方法。

use Allanvb\NovaExports\ExportResourceAction;

public function actions(Request $request): array
{
    return [
        new ExportResourceAction($this),
    ];
}

可用方法

  • only(array $columns) - 定义可以导出的字段白名单。
  • except(array $columns) - 从导出列表中排除指定的字段。
  • filename(string $name) - 设置下载文件名。
  • withUserSelection() - 启用多选字段,允许用户在导出时选择列。
  • usesDateRange(string $columnName) - 启用字段,允许用户在导出时选择日期范围。默认: created_at
  • usesGenerator() - 启用从数据库获取数据时的游标使用。
  • queryBuilder(callable $query) - 在数据导出时使用自己的查询。
  • disk(string $disk) - 您希望用于存储导出文件的存储。

withUserSelection 方法不能与 queryBuilder 方法同时使用。

您还可以在 ExportResourceAction 上使用所有 Nova Action 方法,以及所有 Detached Actions 方法。

异常

此包可以抛出以下异常

待办事项

  • 导出单个资源
  • 实现用户选择导出
  • 实现导出时的生成器
  • 添加在导出时执行连接的方法
  • 添加 Eloquent 关系导出
  • 添加导出到 PDF 的选项

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件