Anonymous
Сортировка по умолчанию не работает в таблицах данных yajra laravel
Сообщение
Anonymous » 19 мар 2024, 14:04
В настоящее время я использую пакет для рендеринга на стороне сервера. Однако я столкнулся с проблемой с функциями упорядочивания и сортировки. Данные, полученные из базы данных, отображаются в таблице данных точно так, как они есть, и когда я нажимаю на стрелки заголовка или добавляю «order:[[0, 'asc']]» в конфигурацию таблицы данных, изменений в таблице не происходит. поведение сортировки.
моя внутренняя логика:
Код: Выделить всё
$filter = 'bankStatement_amount > 100'
$query = BankStatement::whereRaw($filter);
return Datatables::of($query)
->addColumn('action', function ($statement) {
return '[i]bankStatement_id . '" name="bs_id_' . $statement->bankStatement_id . '" type="hidden" value="' . $statement->bankStatement_id . '" />
[url=#][/i][/url]
';
})
->addColumn('bankStatement_dateVal', function ($statement) {
return date('d-M-Y', strtotime($statement->bankStatement_dateVal));
})
->addColumn('bankStatement_amount', function($statement) {
return $this->formatAmount($statement->bankStatement_amount);
})
->addColumn('bankStatement_resp', function($statement) {
return $statement->bankStatement_resp;
})
->addcolumn('bankStatement_desc_azurreo', function($statement) {
return nl2br($statement->bankStatement_desc_azurreo);
})
->addcolumn('bankStatement_account', function($statement) {
return $statement->bankStatement_account;
})
->addcolumn('bankStatement_ref', function($statement) {
return $statement->bankStatement_ref;
})->addcolumn('bankStatement_id', function($statement) {
return $statement->bankStatement_id;
})
->toJson();
Моя логика внешнего интерфейса:
Код: Выделить всё
let dataTable = $('#bankStatementList').DataTable({
processing: true,
serverSide: true,
"order": [[0, 'desc']],
columnDefs: [
{"width": "14%", "targets": 6},
{"width": "11%", "targets": 4},
{"width": "14%", "targets": 0},
],
ajax: {
url: "{{ route('getReconciliationsList') }}",
data: function (d) {
// d.search = $('#search').val();
d.reconYear = $('#reconYear').val();
d.day_month = encodeURIComponent($('#day_month').val());
d.bankStatement_account = encodeURIComponent($('#bankStatement_account').val());
d.bankStatement_resp = encodeURIComponent($('#bankStatement_resp').val());
d.transaction = encodeURIComponent($('#transaction').val());
d.bankStatement_desc_azurreo = encodeURIComponent($('#bankStatement_desc_azurreo').val());
d.bankStatement_ref = encodeURIComponent($('#bankStatement_ref').val());
d.bankStatement_status = encodeURIComponent($('#status').val());
}
},
columns: [
{ data: 'bankStatement_dateVal', name: 'bankStatement_dateVal'},
{ data: 'bankStatement_account', name: 'bankStatement_account', orderable: true },
{ data: 'bankStatement_desc_azurreo', name: 'bankStatement_desc_azurreo', orderable: true },
{ data: 'bankStatement_amount', name: 'bankStatement_amount', className: 'text-right', orderable: true },
{ data: 'bankStatement_ref', name: 'bankStatement_ref', orderable: true },
{ data: 'bankStatement_resp', name: 'bankStatement_resp', orderable: true },
{ data: 'action', name: 'action', orderable: false, searchable: false },
],
});
Операционная система Win 10.
PHP версии 8.2.4
Laravel версии 8
Laravel-Datatables версии 9.21
Подробнее здесь:
https://stackoverflow.com/questions/769 ... datatables
1710846278
Anonymous
В настоящее время я использую пакет для рендеринга на стороне сервера. Однако я столкнулся с проблемой с функциями упорядочивания и сортировки. Данные, полученные из базы данных, отображаются в таблице данных точно так, как они есть, и когда я нажимаю на стрелки заголовка или добавляю «order:[[0, 'asc']]» в конфигурацию таблицы данных, изменений в таблице не происходит. поведение сортировки. моя внутренняя логика: [code]$filter = 'bankStatement_amount > 100' $query = BankStatement::whereRaw($filter); return Datatables::of($query) ->addColumn('action', function ($statement) { return '[i]bankStatement_id . '" name="bs_id_' . $statement->bankStatement_id . '" type="hidden" value="' . $statement->bankStatement_id . '" /> [url=#][/i][/url] '; }) ->addColumn('bankStatement_dateVal', function ($statement) { return date('d-M-Y', strtotime($statement->bankStatement_dateVal)); }) ->addColumn('bankStatement_amount', function($statement) { return $this->formatAmount($statement->bankStatement_amount); }) ->addColumn('bankStatement_resp', function($statement) { return $statement->bankStatement_resp; }) ->addcolumn('bankStatement_desc_azurreo', function($statement) { return nl2br($statement->bankStatement_desc_azurreo); }) ->addcolumn('bankStatement_account', function($statement) { return $statement->bankStatement_account; }) ->addcolumn('bankStatement_ref', function($statement) { return $statement->bankStatement_ref; })->addcolumn('bankStatement_id', function($statement) { return $statement->bankStatement_id; }) ->toJson(); [/code] Моя логика внешнего интерфейса: [code] let dataTable = $('#bankStatementList').DataTable({ processing: true, serverSide: true, "order": [[0, 'desc']], columnDefs: [ {"width": "14%", "targets": 6}, {"width": "11%", "targets": 4}, {"width": "14%", "targets": 0}, ], ajax: { url: "{{ route('getReconciliationsList') }}", data: function (d) { // d.search = $('#search').val(); d.reconYear = $('#reconYear').val(); d.day_month = encodeURIComponent($('#day_month').val()); d.bankStatement_account = encodeURIComponent($('#bankStatement_account').val()); d.bankStatement_resp = encodeURIComponent($('#bankStatement_resp').val()); d.transaction = encodeURIComponent($('#transaction').val()); d.bankStatement_desc_azurreo = encodeURIComponent($('#bankStatement_desc_azurreo').val()); d.bankStatement_ref = encodeURIComponent($('#bankStatement_ref').val()); d.bankStatement_status = encodeURIComponent($('#status').val()); } }, columns: [ { data: 'bankStatement_dateVal', name: 'bankStatement_dateVal'}, { data: 'bankStatement_account', name: 'bankStatement_account', orderable: true }, { data: 'bankStatement_desc_azurreo', name: 'bankStatement_desc_azurreo', orderable: true }, { data: 'bankStatement_amount', name: 'bankStatement_amount', className: 'text-right', orderable: true }, { data: 'bankStatement_ref', name: 'bankStatement_ref', orderable: true }, { data: 'bankStatement_resp', name: 'bankStatement_resp', orderable: true }, { data: 'action', name: 'action', orderable: false, searchable: false }, ], }); [/code] Операционная система Win 10. PHP версии 8.2.4 Laravel версии 8 Laravel-Datatables версии 9.21 Подробнее здесь: [url]https://stackoverflow.com/questions/76959525/default-sorting-is-not-working-in-yajra-laravel-datatables[/url]