rep98 / dt-laravel-eloquent
Simple DataTable para Laravel Eloquent
Requires
- php: ^8.0
- barryvdh/laravel-dompdf: ^3.0
- illuminate/config: ^9.21|^10.0|^11.0
- illuminate/console: ^9.21|^10.0|^11.0
- illuminate/database: ^9.21|^10.0|^11.0
- illuminate/filesystem: ^9.21|^10.0|^11.0
- illuminate/log: ^9.21|^10.0|^11.0
- illuminate/support: ^9.21|^10.0|^11.0
- maatwebsite/excel: ^3.1
Requires (Dev)
- orchestra/testbench: ^7.35|^8.15|^9.0
- phpunit/phpunit: ^9.3|^10.4|^11.0
README
这是一个简单但强大的DataTable,专为Laravel的集合和Eloquent设计,其集成和使用非常简单。
安装
首先将组件集成到我们的项目中
composer require rep98/dt-laravel-eloquent
然后发布供应商
php artisan vendor:publish --provider="DTLaravelEloquent\RDataTableServiceProvider"
最后,可选地,我们可以运行它来安装组件
php artisan RDT:install
如果我们想修改js或css,可以传递--raw标志,[推荐安装npm]
使用
use DTLaravelEloquent\RDT; function index() { $dt = RDT::make(User::all()) ->exclude(["password"]) ->render() return view("auth.users", compact("dt")) }
在Blade中使用
{{-- para el export --}} <meta name="csrf-token" content="{{ csrf_token() }}"> {{-- Añadimos los script --}} <x-dt::scripts /> {{-- la tabla --}} {!! $dt !!}
很简单,不是吗?
配置
该项目使用 fiduswriter/simple-datatables 来有效地处理表格,因此其配置与此组件相匹配
RDataTable是基本配置文件RDTOptions是负责管理配置并使其兼容jsfiduswriter/simple-datatables的类
配置选项
如我所述,所有配置选项都来自组件 fiduswriter/simple-datatables,并进行了一些调整和例外。
以下将解释调整和例外,如需了解其余选项,请访问 Simple Datatables 选项
导出选项
export.name包含当使用Excel或PDF时生成的文件名。
JS组件配置选项
配置类
RDTOptions 类用于设置配置选项,然后将其转换为用于 fiduswriter/simple-datatables 的JavaScript对象
其方法
__construct(array $options = [])初始化选项类,接收将使用的选项。set(string $key, mixed $value): RDTOptions允许设置新选项或更新现有选项。merge(array $options): RDTOptions允许合并多个选项toArray(): array将配置的选项导出为一个数组。toCollect(): Collection将配置的选项导出为Laravel的集合。
该类具有受保护的 protected 方法,允许设置默认选项和自动获取语言或日期设置。
魔法
RDT 类,这是此组件的主要类,基本上,所有必要的操作都通过它来打印漂亮的表格数据。
return RDT::DB(MyModel::all()) ->setOption(['sortable' => false]) ->humanHeaders([ "created_at"=>"Fecha de Registro" ]) ->excludeFields([ 'id', 'updated_at' ]) ->render();
其方法
静态方法
RDT::collection(Collection $data): RDT接收一个Laravel集合并初始化组件。RDT::DB(Collection $data): RDT接收一个Laravel Eloquent集合并初始化组件。RDT::make(Collection $data): RDT接收一个Laravel集合或Eloquent集合并初始化组件。
公共方法
setOption(RDTOptions $options): RDT允许为当前数据设置配置选项。getOptions(): RDTOptions返回设置的选项。mergeOptions(array|RDTOptions $options): RDT允许合并新选项与现有选项,这在需要使用条件或动态数据时很有用。log(): RDT为此表初始化日志记录。excludeFields(array $fields): RDT允许从构造函数中传递的数据中排除字段。getData(): array允许获取处理过的数据。getRawData() : array允许获取未处理的数据。set_uniqueID(string $id): RDT允许为该表设置一个唯一标识符;默认情况下,使用Str类的uuid函数来生成。render()这可能是最重要的函数,也是除构造函数外唯一必须的函数,负责返回生成的表格视图。
命令
DTLaravelEloquent 集成了一个名为 RDT:install 的命令,其功能是允许使用未编译的文件,以便您可以按需修改它们。为此,您必须使用 --raw 标志,因为如果不使用该标志,则仅会将 dist 文件夹复制到您的公共文件夹。
视图
DTLaravelEloquent 提供了一个视图组件,允许从其公共文件夹获取 CSS 和 JS 文件,以便正确显示表格。
附加
此包是使用 fiduswriter/simple-datatables 以及 Bootstrap 5.3 开发的,并使用了 Bootstrap Icon 的 SVG 图标,已在 Laravel 版本 11 上进行了测试。
此开发的目的在于帮助实现一个简单、快速、高效的 Datatable。
