Usage

Create controller and DataTable class
{{ util()->highlight(' php artisan make:controller UsersController php artisan datatables:make Users ', 'bash') }}
The command above will create a DataTable controller file in app/DataTables/UsersDataTable.php.
{{ util()->highlight('namespace App\DataTables; use App\User; use Yajra\DataTables\Html\Button; use Yajra\DataTables\Html\Column; use Yajra\DataTables\Html\Editor\Editor; use Yajra\DataTables\Html\Editor\Fields; use Yajra\DataTables\Services\DataTable; class UsersDataTable extends DataTable { /** * Build DataTable class. * * @param mixed $query Results from query() method. * @return \Yajra\DataTables\DataTableAbstract */ public function dataTable($query) { return datatables() ->eloquent($query) ->addColumn(\'action\', \'users.action\'); } /** * Get query source of dataTable. * * @param \App\User $model * @return \Illuminate\Database\Eloquent\Builder */ public function query(User $model) { return $model->newQuery(); } /** * Optional method if you want to use html builder. * * @return \Yajra\DataTables\Html\Builder */ public function html() { return $this->builder() ->setTableId(\'users-table\') ->columns($this->getColumns()) ->minifiedAjax() ->dom(\'Bfrtip\') ->orderBy(1) ->buttons( Button::make(\'create\'), Button::make(\'export\'), Button::make(\'print\'), Button::make(\'reset\'), Button::make(\'reload\') ); } /** * Get columns. * * @return array */ protected function getColumns() { return [ Column::computed(\'action\') ->exportable(false) ->printable(false) ->width(60) ->addClass(\'text-center\'), Column::make(\'id\'), Column::make(\'name\'), Column::make(\'email\'), Column::make(\'created_at\'), Column::make(\'updated_at\'), ]; } /** * Get filename for export. * * @return string */ protected function filename() { return \'Users_\' . date(\'YmdHis\'); } } ', 'php') }}
Create a new HTTP controller file in app/Http/Controllers/UsersController.php.
{{ util()->highlight('namespace App\Http\Controllers; use App\DataTables\UsersDataTable; class UsersController extends Controller { public function index(UsersDataTable $dataTable) { return $dataTable->render(\'users.index\'); } }', 'php') }}
For more information, check on the official documentation site.