Laravel-datatables: Total do resumo na coluna do rodapé

Criado em 3 jul. 2017  ·  9Comentários  ·  Fonte: yajra/laravel-datatables

Resumo do problema ou solicitação de recurso

Como fazer resumo para coluna de rodapé?

Fragmento de código do problema

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

->

Detalhes do sistema

  • Sistema operacional Windows 8.1
  • PHP versão 5.6.29
  • Laravel Versão 5.4
  • Laravel-Datatables Versão 7
question

Comentários muito úteis

$ dataTableQuery - Isso é passado sem filtrar e | ou pesquisar dados. Como obter uma consulta analisada com todos os parâmetros de ligação?

Todos 9 comentários

Use a mesma consulta passada no DT como:

->with('sum_balance', $dataTableQuery->sum('balance'))

$ dataTableQuery - Isso é passado sem filtrar e | ou pesquisar dados. Como obter uma consulta analisada com todos os parâmetros de ligação?

Como exibir isso na lâmina?

@ yurik3zzz você pode usar com a API de

@ prakash-pokhrel você precisaria lidar com a exibição via javascript acessando os dados de resposta do Ajax. Algo como: LaravelDataTables["users-table"].ajax.json()

@yajra Ainda não entendi. Devo colocar isso dentro da função html () da tabela de dados ou colocar diretamente na lâmina. A propósito, estou usando tabela de dados como serviço

Tente adicionar um script em drawCallback.

`` `js
$ ('# tabela de usuários'). on ('draw.dt', function () {
$ ('# total'). val (LaravelDataTables ["tabela de usuários"]. ajax.json (). total)
})

Se estiver usando o pacote html v4.0 mais recente, você pode fazer algo como:

public function html()
{
  ...
  ->ajax()
  ->drawCallback('function() { $("#total").val( this.api().ajax.json().total ) }')
  ...

Oi,
O que significa "#total" em
-> drawCallback ('function () {$ ("# total"). val (this.api (). ajax.json (). total)}')

Este id está dentro da tabela ou em outro elemento html?

É um seletor jquery para um elemento usando id.

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

Questões relacionadas

shadoWalker89 picture shadoWalker89  ·  3Comentários

josiahke picture josiahke  ·  3Comentários

Mopster picture Mopster  ·  3Comentários

vipin733 picture vipin733  ·  3Comentários

macnux picture macnux  ·  3Comentários