Skip to content

Ignore Model Getters

The ignoreGetters() API prevents Eloquent model getters and mutators from being applied when converting models to array for the DataTables response.


Basic Usage

use Yajra\DataTables\Facades\DataTables;
use App\Models\User;
 
Route::get('user-data', function() {
return DataTables::eloquent(User::query())
->ignoreGetters()
->toJson();
});

Use Case

When you need to access the raw attribute values without any transformation:

use Yajra\DataTables\Facades\DataTables;
use App\Models\User;
 
Route::get('user-data', function() {
// Model has an accessor that formats the name
// class User extends Model {
// public function getNameAttribute($value) {
// return strtoupper($value);
// }
// }
 
return DataTables::eloquent(User::query())
->ignoreGetters()
->toJson();
});

In this example, name will return the raw database value instead of the formatted uppercase value from the accessor.


With Relations

When eager loading relations, ignoreGetters also applies to related models:

use Yajra\DataTables\Facades\DataTables;
use App\Models\User;
 
Route::get('user-data', function() {
return DataTables::eloquent(
User::with(['posts', 'roles'])
)
->ignoreGetters()
->toJson();
});

See Also