Skip to content
Icon

WARNING You're browsing the documentation for an upcoming version of Laravel DataTables. The documentation and features of this release are subject to change.

Order Column

In some cases, you may want to use a custom order sql for a specific column. To achieve this, you can use orderColumn api.

{tip} Order column has a special variable $1 which is being replace as the order direction value of the request.

In this example, we will order the column name with nulls as last result.

use DataTables;
 
Route::get('user-data', function() {
$model = App\User::query();
 
return DataTables::eloquent($model)
->orderColumn('name', '-name $1')
->toJson();
});

Here is another example of orderColumn using closure.

use DataTables;
 
Route::get('user-data', function () {
$model = App\User::query();
 
return DataTables::eloquent($model)
->orderColumn('name', function ($query, $order) {
$query->orderBy('status', $order);
});
});

Disable ordering via orderColumn.

use DataTables;
 
Route::get('user-data', function () {
$model = App\User::query();
 
return DataTables::eloquent($model)
->orderColumn('name', false);
});