@xtremer360 maybe try this import:
use Yajra\DataTables\Services\DataTable;
instead of :
use Yajra\DataTables\DataTables;
and then:
class UsersDataTable extends DataTable
Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.
If anyone has used the Yajra Datatables package, I am getting this error.
ReflectionException: Class App\DataTables\UsersDataTable does not exist
Caused by
ErrorException: Declaration of App\DataTables\UsersDataTable::query(): Illuminate\Database\Query\Builder should be compatible with Yajra\DataTables\DataTables::query($builder)
From what I see both query methods are returning the same object.
<?php
namespace App\DataTables;
use App\Models\User;
use App\Filters\UserFilters;
use Yajra\DataTables\DataTables;
class UsersDataTable extends DataTables
{
/** @var userFilters */
private $userFilters;
/**
* UsersDataTable constructor.
*
* @param UserFilters $userFilters
*/
public function __construct(UserFilters $userFilters)
{
$this->userFilters = $userFilters;
}
/**
* Build DataTable class.
*
* @param mixed $query Results from query() method.
* @return \Yajra\DataTables\DataTableAbstract
*/
public function dataTable($query): \Yajra\DataTables\DataTableAbstract
{
return datatables($query)
->editColumn('started_at', function (User $user) {
return $user->currentEmployment->started_at->format('Y-m-d H:s');
})
->filterColumn('id', function ($query, $keyword) {
$query->where($query->qualifyColumn('id'), $keyword);
})
->filterColumn('name', function ($query, $keyword) {
$sql = "CONCAT(user.first_name, ' ', user.last_name) like ?";
$query->whereRaw($sql, ["%{$keyword}%"]);
})
->addColumn('action', 'users.partials.action-cell');
}
/**
* Get query source of dataTable.
*
* @return \Illuminate\Database\Query\Builder
*/
public function query(): \Illuminate\Database\Query\Builder
{
$query = User::with('employment');
$this->userFilters->apply($query);
return $query;
}
}
@xtremer360 maybe try this import:
use Yajra\DataTables\Services\DataTable;
instead of :
use Yajra\DataTables\DataTables;
and then:
class UsersDataTable extends DataTable
Please or to participate in this conversation.