Html Builder
DataTables has a built-in html builder that you can use to automatically generate your table mark-up and javascripts declarations.
Html Builder via Dependency Injection
You can use the Builder
class by using Dependency Injection.
use Yajra\DataTables\Html\Builder; Route::get('users', function(Builder $builder) { //});
Html Builder via IoC
Route::get('users', function() { $builder = app('datatables.html');});
Html Builder from DataTables instance
use Yajra\DataTables\DataTables; Route::get('users', function(DataTables $dataTable) { $builder = $dataTable->getHtmlBuilder();});
Html Builder Example
routes/web.php
use Yajra\DataTables\Facades\DataTables;use Yajra\DataTables\Html\Builder;use Yajra\DataTables\Html\Column;use App\Models\User; Route::get('users', function(Builder $builder) { if (request()->ajax()) { return DataTables::of(User::query())->toJson(); } $html = $builder->columns([ Column::make('id'), Column::make('name'), Column::make('email'), Column::make('created_at'), Column::make('updated_at'), ]); return view('users.index', compact('html'));});
resources/views/users/index.blade.php
@extends('app') @section('contents') {{ $html->table() }}@endsection @push('scripts') {{ $html->scripts() }}@endpush