Laravel-datatables: Cara melewatkan parameter ekstra dengan parameter default lainnya

Dibuat pada 9 Apr 2018  ·  7Komentar  ·  Sumber: yajra/laravel-datatables

Ringkasan masalah atau permintaan fitur

Halo,

Saya ingin melewatkan satu parameter tambahan dengan parameter default lain yang meneruskannya sendiri pada permintaan ajax.
Saya ingin meneruskan variabel yang bukan bagian dari data / field yang ditampilkan di tabel.
Pada dasarnya saya ingin menambahkan satu filter yang bukan bagian dari kolom yang sedang ditampilkan. Bagaimana cara melewatinya?

question

Komentar yang paling membantu

Saya telah melewati parameter ekstra dengan datatable seperti ini-

->with([
   "cities" => app(\App\Http\Controllers\HelperController::class)->cityListing(),
  "leadCounters" =>  $this->leadCounters
])
->make(true);

Tapi, bagaimana saya bisa mendapatkan parameter ekstra ini dalam respons Yajra Datatable?

Semua 7 komentar

Pada ajax yang diperkecil, Anda dapat menambahkan array parameter yang akan disertakan secara default berdasarkan permintaan. Mungkin ini yang kamu butuhkan? Lihat dokumen https://yajrabox.com/docs/laravel-datatables/master/html-builder-minified-ajax untuk ref.

@jatinbphp maksudmu seperti ini?
public function userSkpDataTable ($ pes)
{
$ skp = skp :: isAktif ($ pes, 1);
return Datatables :: of ($ skp)
-> addColumn ('action', function ($ user) use ($ pes) {
mengembalikan ' link dengan 2 parameter ';
}) -> make (true);
}

Apakah Anda menggunakan pembuat html atau menulis skrip Anda sendiri?

Bagaimanapun, coba js ini:

`` js
$ ('# ..'). DataTable ({
ajax: {
url: '',
data: fungsi (data) {data.key = nilai; }
},
...
})

Halo Yajra, saya mencoba untuk melewatkan parameter tambahan dari pengontrol ke tampilan saat menggunakan Yajra, jadi saya mendapatkan sesuatu seperti jumlah total yang dibuat dari filter rentang waktu. lihat tangkapan layar di bawah pengontrol saya.
Dalam pandangan saya, saya tidak bisa melakukan ini {{cashMade}}

Saya mendapatkan Errr: Penggunaan cashMade konstan yang tidak ditentukan - diasumsikan 'cashMade'

yaj

@ laurence702 Anda dapat menggunakan dengan api untuk menambahkan data pada respon.

Route::get('user-data', function() {
    $model = App\User::query();

    return DataTables::eloquent($model)
                ->with('posts', 100)
                ->with('comments', 20)
                ->toJson();
});

Saya telah melewati parameter ekstra dengan datatable seperti ini-

->with([
   "cities" => app(\App\Http\Controllers\HelperController::class)->cityListing(),
  "leadCounters" =>  $this->leadCounters
])
->make(true);

Tapi, bagaimana saya bisa mendapatkan parameter ekstra ini dalam respons Yajra Datatable?

@UmeshKrRana lakukan sebagai berikut:

Simpan inisialisasi DataTable dalam variabel:

var table = $('.vehicles-report-table').DataTable({...})

Kemudian akses data melalui fungsi drawCallback:

drawCallback: function(settings) { console.log(table.ajax.json()) }

Apakah halaman ini membantu?
5 / 5 - 1 peringkat