Laravel-datatables: Como passar um parâmetro extra com outro parâmetro padrão

Criado em 9 abr. 2018  ·  7Comentários  ·  Fonte: yajra/laravel-datatables

Resumo do problema ou solicitação de recurso

Olá,

Eu quero passar um parâmetro extra com outro parâmetro padrão que está sendo passado por conta própria na solicitação ajax.
Quero passar variáveis ​​que não fazem parte dos dados / campos que estão sendo exibidos nas tabelas.
Basicamente, eu quero adicionar um filtro que não faz parte das colunas atualmente exibidas. Como posso passá-lo?

question

Comentários muito úteis

Eu passei o parâmetro extra com a tabela de dados assim-

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

Mas, como posso obter esses parâmetros extras na resposta do Yajra Datatable?

Todos 7 comentários

No ajax minimizado, você pode anexar uma série de parâmetros que serão incluídos por padrão a pedido. Talvez seja isso que você precisa? Veja os documentos https://yajrabox.com/docs/laravel-datatables/master/html-builder-minified-ajax para ref.

@jatinbphp você quer dizer assim?
public function userSkpDataTable ($ pes)
{
$ skp = skp :: isAktif ($ pes, 1);
return Datatables :: of ($ skp)
-> addColumn ('action', function ($ user) use ($ pes) {
retornar ' link com 2 parâmetros ';
}) -> make (true);
}

Você está usando o construtor de html ou escrevendo seu próprio script?

De qualquer forma, tente este js:

`` `js
$ ('# ..'). DataTable ({
ajax: {
url: '',
dados: função (dados) {dados.chave = valor; }
},
...
})

Olá Yajra, estou tentando passar um parâmetro extra do controlador para a visualização ao usar o Yajra, então recebo algo como a quantidade total feita com o filtro de intervalo de tempo. veja a imagem abaixo do meu controlador.
Na minha opinião, não posso fazer isso {{cashMade}}

Recebo Errr: Uso de cashMade constante indefinido - assumido 'cashMade'

yaj

@ laurence702 você pode usar com api para anexar dados na resposta.

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

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

Eu passei o parâmetro extra com a tabela de dados assim-

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

Mas, como posso obter esses parâmetros extras na resposta do Yajra Datatable?

@UmeshKrRana faça o seguinte:

Salve a inicialização do DataTable em uma variável:

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

Em seguida, acesse os dados por meio da função drawCallback:

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

Esta página foi útil?
5 / 5 - 1 avaliações

Questões relacionadas

jackrsantana picture jackrsantana  ·  3Comentários

nasirkhan picture nasirkhan  ·  3Comentários

alejandri picture alejandri  ·  3Comentários

techguydev picture techguydev  ·  3Comentários

vipin733 picture vipin733  ·  3Comentários