sukohi / datatable-resource
这是一个 Laravel 扩展包,它为 jQuery 插件 Datatable 提供分页所需的数据。
1.0.0
2020-05-12 17:12 UTC
Requires
- illuminate/support: ^6.0|^7.0
This package is auto-updated.
Last update: 2024-09-13 02:48:51 UTC
README
这是一个 Laravel 扩展包,它为 jQuery 插件 Datatable 提供分页所需的数据资源。
本扩展包适用于 Datatable 并在 Laravel 6.x 下维护。
安装
composer require sukohi/datatable-resource:1.*
使用方法
基本使用
// in Route
Route::get('item_resource', function(){
$query = \App\Item::query();
// Of course you can add any methods here like `where()`, `orderBy()` and even `with()`.
return new DatatableResource($query);
});
现在您可以得到 Datatable 需要的 JSON 数据。
附加值
return new DatatableResource($query, [
'key_1' => 'value_1',
'key_2' => 'value_2',
'key_3' => 'value_3',
]);
特性
本扩展包包含 DatatableResourceTrait
,它提供了一些有用的方法。
为了使用它们,请将 DatatableResourceTrait
设置到您的模型中,如下所示。
use Sukohi\DatatableResource\Traits\DatatableResourceTrait;
class class Item extends Model
{
use DatatableResourceTrait;
hasDatatableSearch()
检查当前访问是否有搜索参数。
if($this->hasDatatableSearch()) {
// Do something...
}
getDatatableSearchKeywords()
您可以得到 Datatable
提交的搜索关键词。
$keywords = $this->getDatatableSearchKeywords();
foreach($keywords as $keyword) {
// Do someting...
}
hasDatatableSort()
检查当前访问是否有排序参数。
if($this->hasDatatableSort()) {
// Do something...
}
getDatatableSort()
您可以得到 Datatable
提交的排序参数。
$order_by = $this->getDatatableSort();
// Usage
$column = $order_by->column;
$direction = $order_by->direction;
许可证
本扩展包遵循 MIT 许可协议。
版权所有 2020 Sukohi Kuhoh