Laravel-datatables: Order and filter not working

Created on 2 Jul 2018  路  8Comments  路  Source: yajra/laravel-datatables

Summary of problem or feature request

Pagination works fine, but it's not ordering or filtering.

awesomescreenshot-2018-07-01t22-01-08-680z

Code snippet of problem

Route:
~php
Route::get('home/dataTable', 'HomeController@dataTable');
~

Controller:
~php
public function dataTable(Request $request)
{
return datatables()->of(Equipments::all())->toJson();
}
~

Javascript:
~javascript
$('.dataTable').dataTable({
'lengthMenu': [[10, 25, 50, 100, -1], [10, 25, 50, 100, 'Todos']],
'processing': true,
'serverSide': true,
'ajax': 'home/dataTable',
'columns': [
{ 'data': 'serial_number' },
{ 'data': 'modem_sn' },
{ 'data': 'power_supply_sn' },
{ 'data': 'name' },
{ 'data': 'equipment_type_id' },
{
'data': null,
render: function ( data ) {
return (data.enabled)
? ' Online'
: ' Offline';
}
}
],
'language': {
'url': 'plugins/datatables-language/Portuguese-Brasil.json'
}
})
~

JSON Response test 1:
~json
order: [{column: "0", dir: "asc"}]
~

JSON Response test 2:
~json
order: [{column: "0", dir: "desc"}]
~

System details

  • Ubuntu 18.04 LTS
  • PHP 7.2.7-1
  • Laravel 5.6
  • PostgreSQL 9.5.13
question

All 8 comments

That's odd. Can you try inspecting the ajax request with APP_DEBUG=true and review the input values submitted? It seems like the javascript is fixed on ordering with column 0.

@yajra I'm using APP_DEBUG=true

Post 1:
~javascript
draw: 1
columns[0][data]: serial_number
columns[0][name]: serial_number
columns[0][searchable]: true
columns[0][orderable]: true
columns[0][search][value]:
columns[0][search][regex]: false
columns[1][data]: modem_sn
columns[1][name]:
columns[1][searchable]: true
columns[1][orderable]: true
columns[1][search][value]:
columns[1][search][regex]: false
columns[2][data]: power_supply_sn
columns[2][name]:
columns[2][searchable]: true
columns[2][orderable]: true
columns[2][search][value]:
columns[2][search][regex]: false
columns[3][data]: name
columns[3][name]:
columns[3][searchable]: true
columns[3][orderable]: true
columns[3][search][value]:
columns[3][search][regex]: false
columns[4][data]: equipment_type_id
columns[4][name]:
columns[4][searchable]: true
columns[4][orderable]: true
columns[4][search][value]:
columns[4][search][regex]: false
columns[5][data]:
columns[5][name]:
columns[5][searchable]: true
columns[5][orderable]: true
columns[5][search][value]:
columns[5][search][regex]: false
order[0][column]: 0
order[0][dir]: asc
start: 0
length: 10
search[value]:
search[regex]: false
~

Response 1:
https://jsoneditoronline.org/?id=4c77e2bbf7d241b880143e17935b6134

Post 2:
~javascript
draw: 2
columns[0][data]: serial_number
columns[0][name]: serial_number
columns[0][searchable]: true
columns[0][orderable]: true
columns[0][search][value]:
columns[0][search][regex]: false
columns[1][data]: modem_sn
columns[1][name]:
columns[1][searchable]: true
columns[1][orderable]: true
columns[1][search][value]:
columns[1][search][regex]: false
columns[2][data]: power_supply_sn
columns[2][name]:
columns[2][searchable]: true
columns[2][orderable]: true
columns[2][search][value]:
columns[2][search][regex]: false
columns[3][data]: name
columns[3][name]:
columns[3][searchable]: true
columns[3][orderable]: true
columns[3][search][value]:
columns[3][search][regex]: false
columns[4][data]: equipment_type_id
columns[4][name]:
columns[4][searchable]: true
columns[4][orderable]: true
columns[4][search][value]:
columns[4][search][regex]: false
columns[5][data]:
columns[5][name]:
columns[5][searchable]: true
columns[5][orderable]: true
columns[5][search][value]:
columns[5][search][regex]: false
order[0][column]: 0
order[0][dir]: desc
start: 0
length: 10
search[value]:
search[regex]: false
~

Response 2:
https://jsoneditoronline.org/?id=28ae03ff8d694d5a93977799eac1fa43

@yajra Does this problem have anything to do with me using Postgres?

I have this exact same problem, and I'm using MSSql (sqlsrv). The service implementation works but sorting / searching does not work.

Any updates of this issue?

I have this exact same problem, and I'm using MSSql (sqlsrv). The service implementation works but sorting / searching does not work.

@oranges13 did you solve your issue?

@aline-matos I don't recall exactly what the resolution was, but I do know that the service implementation out-of-the-box did not work for this exact reason. I will try to find the resource I used to modify my application that finally got it working.

I solve this inssue by overriding the Request class with @sgotre suggestion:
https://github.com/teraone/laravel-datatables/commit/9db3bc72af378dd8327fa8ad60c2c83a96c9c1ab

Was this page helpful?
0 / 5 - 0 ratings

Related issues

vipin733 picture vipin733  路  3Comments

hari-web picture hari-web  路  3Comments

SGarridoDev picture SGarridoDev  路  3Comments

jgatringer picture jgatringer  路  3Comments

josiahke picture josiahke  路  3Comments