如何对页脚栏进行汇总?
$dataTableQuery = Users::query()
->leftJoin('user_info', 'users.id', '=', 'user_info.id')
->select([
'users.id',
'users.username',
'users.role_id',
'user_info.first_name',
'user_info.last_name',
'user_info.email',
'users.blocked',
'users.balance',
'users.created',
]);
$sums = [
'sum_balance' => '0',
];
$datatables = Datatables::of($dataTableQuery )
->escapeColumns(['first_name', 'last_name', 'email'])
->editColumn('created', function ($user) {
return Carbon::createFromFormat('Y-m-d H:i:s', $user->created)->toDateString();
})
->editColumn('blocked', function ($user) {
return $user->blocked_label;
})
->addColumn('actions', function ($user) {
return $user->gamers_buttons;
})
->filter(function ($query) use ($request) {
if ($request->has('username')) {
$query->where('username', 'like', "%{$request->get('username')}%");
}
})
->addSum('sum_balance', DB::raw("sum(balance)")) <-- How do it?
->with('sums', $sums);
->
使用在DT上传递的相同查询,例如:
->with('sum_balance', $dataTableQuery->sum('balance'))
$ dataTableQuery-传递时不过滤和|或搜索数据。 如何获得具有所有绑定参数的已解析查询?
如何在刀片中显示呢?
@ yurik3zzz,您可以在最新版本上使用withQuery api。
@ prakash-pokhrel,您需要通过访问Ajax响应数据来通过javascript处理显示。 类似于: LaravelDataTables["users-table"].ajax.json()
@yajra我还是没明白。 我应该将其放置在datatable的html()函数中还是直接放置在刀片中。 顺便说一句,我正在使用数据表作为服务
尝试在drawCallback上添加脚本。
```js
$('#users-table')。on('draw.dt',function(){
$('#total')。val(LaravelDataTables [“ users-table”]。ajax.json()。total)
})
如果您使用的是最新的HTML软件包v4.0,则可以执行以下操作:
public function html()
{
...
->ajax()
->drawCallback('function() { $("#total").val( this.api().ajax.json().total ) }')
...
你好
“ #total”在其中代表什么
-> drawCallback('function(){$(“#total”)。val(this.api()。ajax.json()。total)}'))
这个ID是在表格中还是其他html元素中?
这是使用id的元素的jquery选择器。
最有用的评论
$ dataTableQuery-传递时不过滤和|或搜索数据。 如何获得具有所有绑定参数的已解析查询?