Laravel-datatables: Как передать дополнительный параметр с другим параметром по умолчанию

Созданный на 9 апр. 2018  ·  7Комментарии  ·  Источник: yajra/laravel-datatables

Краткое изложение проблемы или запроса функции

Здравствуйте,

Я хочу передать один дополнительный параметр с другим параметром по умолчанию, который передает его самостоятельно в запросе ajax.
Я хочу передать переменную, которая не является частью данных / поля, отображаемых в таблицах.
В основном я хочу добавить один фильтр, который не является частью отображаемых столбцов. Как я могу его передать?

question

Самый полезный комментарий

Я передал дополнительный параметр с такой таблицей данных:

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

Но как я могу получить эти дополнительные параметры в ответе Yajra Datatable?

Все 7 Комментарий

На минифицированном ajax вы можете добавить массив параметров, которые будут включены по умолчанию по запросу. Может это то, что тебе нужно? См. Документы https://yajrabox.com/docs/laravel-datatables/master/html-builder-minified-ajax для ссылки.

@jatinbphp вы имеете в виду это?
публичная функция userSkpDataTable ($ pes)
{
$ skp = skp :: isAktif ($ pes, 1);
return Datatables :: of ($ skp)
-> addColumn ('действие', функция ($ user) use ($ pes) {
вернуть ссылку с двумя параметрами ;
}) -> make (правда);
}

Вы используете конструктор HTML или пишете собственный скрипт?

В любом случае, попробуйте этот js:

`` js
$ ('# ..'). DataTable ({
ajax: {
url: '',
данные: функция (данные) {data.key = значение; }
},
...
})

Привет, Yajra, я пытаюсь передать дополнительный параметр из контроллера для просмотра при использовании Yajra, поэтому я получаю что-то вроде общей суммы, полученной из фильтра временного диапазона. см. снимок экрана ниже моего контроллера.
На мой взгляд, я не могу этого сделать {{cashMade}}

Я получаю Errr: использование неопределенного постоянного значения cashMade - предполагается, что "cashMade"

yaj

@ laurence702 можно использовать с API для добавления данных в ответ.

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

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

Я передал дополнительный параметр с такой таблицей данных:

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

Но как я могу получить эти дополнительные параметры в ответе Yajra Datatable?

@UmeshKrRana сделайте следующее:

Сохраните инициализацию DataTable в переменной:

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

Затем получите доступ к данным через функцию drawCallback:

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

Была ли эта страница полезной?
5 / 5 - 1 рейтинги