sukohi/datatable-resource

这是一个 Laravel 扩展包,它为 jQuery 插件 Datatable 提供分页所需的数据。

1.0.0 2020-05-12 17:12 UTC

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