romalytvynenko / eloquent-table
此包最新版本(dev-master)没有提供许可证信息。
dev-master
2020-10-26 08:30 UTC
Requires
- php: >=5.4.0
This package is not auto-updated.
Last update: 2024-09-18 06:05:55 UTC
README
将以下行添加到您的 composer.json
"romalytvynenko/eloquent-table": "dev-master"
将以下行添加到 config/app.php
(提供者)中
'Romalytvynenko\EloquentTable\EloquentTableServiceProvider'
并将其添加到 aliases
部分中
'EloquentTable' => 'Romalytvynenko\EloquentTable\Engine\EloquentTable'
使用方法
首先,创建 EloquentTable 对象。
$exampleTable = new EloquentTable('Example', $tableSettings);
第一个参数是模型名称,$tableSettings 是用于当前表的特殊表设置。您还可以提供一些特定参数,例如 'searchable' 和 'preGet'。其中 'searchable' 是一个数组,包含可搜索的列(多么巧妙!),而 'preGet' 是一个闭包,它将在所有其他过滤器(搜索、排序等)之前应用于查询。
$tableSettings = [ 'columns' => [ 'id' => '#', 'title' => 'Title', 'message' => 'Message', 'sent_at' => 'Sent', ], 'sortable' => [ 'id', 'sent_at' ], 'searchable' => [ 'title' ], 'preGet' => function($query) { /** * @var $query \Illuminate\Database\Query\Builder */ return $query->where('type', 'group'); }, ];
现在您可以使用 show
方法渲染表格
$exampleTable->show();
更改列输出
要更改列输出,您可以使用闭包来挂钩输出
$table->columnOutput('id', function($item){ /** * @var $item \Eloquent */ return 'Item - ' . $item->id; });
其中 id
是列名称的示例,匿名函数则是示例函数,其结果将替换原始列值。
您自己的表格布局
您可以轻松创建自己的表格布局。为此,请查看 views/table.php 的源代码,并自由创建您自己的。您可以通过将视图名称传递给 show
函数来使用它。
$exampleTable->show('admin.table');