netvibes / datatablehandler
处理Prime Vue数据表格。
dev-main
2024-02-12 15:43 UTC
This package is auto-updated.
Last update: 2024-09-12 17:14:49 UTC
README
安装
运行composer require netvibes/datatablehandler
添加到controller.php
use Netvibes\Datatablehandler\DataTableService;
public function paginateIndex($request, $indexQuery, $withColumns = [], $returnPaginated = true)
{
$processedDataTable = DataTableService::process($request->query('lazyEvent'), $indexQuery, $withColumns, $returnPaginated);
return $processedDataTable;
}
添加到你的模型中以允许在这些列/关系上进行全局过滤
public $filters = [
'column1',
'column2',
'relation' => [
'column1'
]
];
多对多或一对多关系上无法进行排序
使用
在任意其他控制器中使用
$paginatedResponse = $this->paginateIndex($request, new Model(), ['relations'], true);
return Response()->json($paginatedResponse);
在更复杂的查询情况下
$arrayResponse = $this->paginateIndex($request, new Model(), ['relations'], false);
$indexQuery = $arrayResponse['query'];
// Perform extra queries here
$indexQuery = $indexQuery->where('column', false);
$indexQuery = $indexQuery->where('column2', 'parameter');
// query needs to be paginated
return Response()->json($indexQuery->paginate($arrayResponse['pages']));
URL参数
? page = 1
& lazyEvent = {
"first":0,
"rows":10,
"sortField":"order",
"sortOrder":1,
"filters":{
"global":{
"value":null,
"matchMode":"contains"
}
}
}