Laravel-datatables: Total ringkasan di kolom footer

Dibuat pada 3 Jul 2017  ·  9Komentar  ·  Sumber: yajra/laravel-datatables

Ringkasan masalah atau permintaan fitur

Bagaimana membuat ringkasan ke kolom footer?

Potongan kode masalah

        $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);

->

Detail sistem

  • Sistem Operasi Windows 8.1
  • Versi PHP 5.6.29
  • Laravel Versi 5.4.0
  • Laravel-Datatables Versi 7
question

Komentar yang paling membantu

$ dataTableQuery - Ini diteruskan tanpa memfilter dan | atau mencari data. Bagaimana cara mendapatkan kueri yang diurai dengan semua parameter pengikat?

Semua 9 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

alejandri picture alejandri  ·  3Komentar

SGarridoDev picture SGarridoDev  ·  3Komentar

techguydev picture techguydev  ·  3Komentar

jgatringer picture jgatringer  ·  3Komentar

kamrava picture kamrava  ·  3Komentar