![]()
WARNING You're browsing the documentation for an upcoming version of Laravel DataTables. The documentation and features of this release are subject to change.
Remove Column
You can remove columns from your DataTables response using the removeColumn API. This is useful for excluding sensitive or unnecessary data from the response.
Basic Usage
Remove a single column:
use Yajra\DataTables\Facades\DataTables;use App\Models\User; Route::get('user-data', function() { $model = User::query(); return DataTables::eloquent($model) ->removeColumn('password') ->toJson();});
Remove Multiple Columns
Chain multiple removes or pass an array:
return DataTables::eloquent($model) ->removeColumn('password') ->removeColumn('remember_token') ->toJson();
Or use multiple arguments:
return DataTables::eloquent($model) ->removeColumn('password', 'remember_token', 'api_token') ->toJson();
Common Use Cases
Remove Sensitive Data
return DataTables::eloquent($model) ->removeColumn('password') ->removeColumn('api_token') ->removeColumn('secret_question') ->removeColumn('secret_answer') ->toJson();
Remove Internal Fields
return DataTables::eloquent($model) ->removeColumn('deleted_at') ->removeColumn('created_by') ->removeColumn('updated_by') ->toJson();
Combine with AddColumn
return DataTables::eloquent($model) ->removeColumn('first_name') ->removeColumn('last_name') ->addColumn('full_name', function (User $user) { return $user->first_name . ' ' . $user->last_name; }) ->toJson();
Alternative: Make Hidden
You can also use Laravel's makeHidden method on Eloquent models:
return DataTables::eloquent($model) ->makeHidden(['password', 'remember_token']) ->toJson();
💡 Tip:
makeHiddenis more performant as it happens at the model level before array conversion.
Column Visibility Comparison
| Method | When Data is Removed | Use Case |
|---|---|---|
removeColumn |
During DataTables processing | Exclude from response only |
makeHidden |
During model serialization | Always exclude from JSON |
$hidden property |
On model serialization | Persistent model hiding |
See Also
- Make Hidden - Hide Eloquent attributes
- Add Column - Add computed columns
- Raw Columns - Allow HTML rendering