Laravel-datatables: So übergeben Sie zusätzliche Parameter mit anderen Standardparametern

Erstellt am 9. Apr. 2018  ·  7Kommentare  ·  Quelle: yajra/laravel-datatables

Zusammenfassung des Problems oder der Funktionsanforderung

Hallo,

Ich möchte einen zusätzlichen Parameter mit anderen Standardparametern übergeben, die sich selbst auf Ajax-Anfrage übergeben.
Ich möchte eine Variable übergeben, die nicht Teil der Daten / Felder ist, die in Tabellen angezeigt werden.
Grundsätzlich möchte ich einen Filter hinzufügen, der nicht Teil der aktuell angezeigten Spalten ist. Wie kann ich ihn übergeben?

question

Hilfreichster Kommentar

Ich habe den zusätzlichen Parameter mit der Datentabelle wie folgt übergeben:

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

Aber wie kann ich diese zusätzlichen Parameter in der Antwort von Yajra Datatable erhalten?

Alle 7 Kommentare

Bei minimiertem Ajax können Sie ein Array von Parametern anhängen, die auf Anfrage standardmäßig enthalten sind. Vielleicht ist es das, was du brauchst? Weitere Informationen finden Sie in den Dokumenten unter https://yajrabox.com/docs/laravel-datatables/master/html-builder-minified-ajax .

@jatinbphp meinst du so?
öffentliche Funktion userSkpDataTable ($ pes)
{
$ skp = skp :: isAktif ($ pes, 1);
return Datatables :: of ($ skp)
-> addColumn ('action', Funktion ($ user) use ($ pes) {
return ' link with 2 paramter ';
}) -> make (true);
}}

Verwenden Sie den HTML-Builder oder schreiben Sie Ihr eigenes Skript?

Wie auch immer, versuchen Sie dies js:

`` `js
$ ('# ..'). DataTable ({
Ajax: {
URL: '',
Daten: Funktion (Daten) {data.key = Wert; }}
},
...
})

Hallo Yajra, ich versuche, zusätzliche Parameter vom Controller an die Ansicht zu übergeben, wenn ich Yajra verwende, damit ich so etwas wie den Gesamtbetrag aus dem Zeitbereichsfilter erhalte. siehe Screenshot unten von meinem Controller.
Meiner Ansicht nach kann ich das nicht tun {{cashMade}}

Ich erhalte Errr: Verwendung von undefinierter Konstante cashMade - angenommen 'cashMade'

yaj

@ laurence702 können Sie mit API verwenden, um Daten an die Antwort anzuhängen.

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

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

Ich habe den zusätzlichen Parameter mit der Datentabelle wie folgt übergeben:

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

Aber wie kann ich diese zusätzlichen Parameter in der Antwort von Yajra Datatable erhalten?

@UmeshKrRana gehen Sie wie folgt vor:

Speichern Sie die Initialisierung der DataTable in einer Variablen:

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

Greifen Sie dann über die drawCallback-Funktion auf die Daten zu:

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

War diese Seite hilfreich?
5 / 5 - 1 Bewertungen