Bagaimana membuat ringkasan ke kolom footer?
$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);
->
Gunakan kueri yang sama yang diteruskan pada DT seperti:
->with('sum_balance', $dataTableQuery->sum('balance'))
$ dataTableQuery - Ini diteruskan tanpa memfilter dan | atau mencari data. Bagaimana cara mendapatkan kueri yang diurai dengan semua parameter pengikat?
Bagaimana cara menampilkan ini di blade?
@ yurik3zzz Anda dapat menggunakan withQuery api untuk itu pada versi terbaru.
@ prakash-pokhrel Anda perlu menangani tampilan melalui javascript dengan mengakses data respons ajax. Sesuatu seperti: LaravelDataTables["users-table"].ajax.json()
@yajra saya masih belum mengerti. Haruskah saya menempatkan ini di dalam fungsi html () dari datatable atau langsung dimasukkan ke dalam blade. Btw, saya menggunakan datatable sebagai layanan
Coba tambahkan skrip di drawCallback.
`` js
$ ('# users-table'). on ('draw.dt', function () {
$ ('# total'). val (LaravelDataTables ["users-table"]. ajax.json (). total)
})
Jika Anda menggunakan paket html terbaru v4.0, Anda dapat melakukan sesuatu seperti:
public function html()
{
...
->ajax()
->drawCallback('function() { $("#total").val( this.api().ajax.json().total ) }')
...
Hai,
Apa artinya "#total"
-> drawCallback ('function () {$ ("# total"). val (this.api (). ajax.json (). total)}')
Apakah id ini ada di dalam tabel atau di elemen html lainnya?
Ini adalah pemilih jquery untuk elemen yang menggunakan id.
Komentar yang paling membantu
$ dataTableQuery - Ini diteruskan tanpa memfilter dan | atau mencari data. Bagaimana cara mendapatkan kueri yang diurai dengan semua parameter pengikat?