PHP code example of raprmdn / laravel-inertia-datatables
1. Go to this page and download the library: Download raprmdn/laravel-inertia-datatables library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
raprmdn / laravel-inertia-datatables example snippets
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;
use Raprmdn\DataTables\Column;
use Raprmdn\DataTables\Facades\DataTable;
public function index(Request $request)
{
$query = DB::table('records')
->select('records.*')
->leftJoin(
'organizations as organization',
'organization.id',
'=',
'records.organization_id',
);
return DataTable::query($query)
->columnDefinitions([
Column::make('record', 'records.name')
->searchable()
->sortable(),
Column::make('organization', 'organization.name')
->searchable()
->sortable(),
Column::make('status', 'records.status')->filterable(),
])
->applyFilters($request->query('filters', []))
->applySort($request->string('col')->toString() ?: null)
->orderBy('records.created_at', 'desc')
->make();
}
use App\Models\Ticket;
use Illuminate\Http\Request;
use Raprmdn\DataTables\Column;
use Raprmdn\DataTables\Facades\DataTable;
public function index(Request $request)
{
$tickets = DataTable::query(Ticket::query())
->with(['priority', 'contact.channel', 'creator'])
->columnDefinitions([
Column::group(['number', 'subject'])->searchable(),
Column::make('customer', 'contact.name')
->searchable()
->sortable(),
Column::make('priority', 'priority.name')
->filterable()
->sortable('priority.sla_minutes'),
Column::make('status')->filterable()->sortable(),
Column::make('created_by', 'creator.name')->filterable(),
Column::make('created_at')->dateRange()->sortable(),
])
->applyFilters($request->query('filters', []))
->applySort($request->string('col')->toString() ?: null)
->make();
return inertia('tickets/index', ['tickets' => $tickets]);
}
use App\Http\Resources\UserResource;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use Raprmdn\DataTables\Column;
use Raprmdn\DataTables\Facades\DataTable;
Route::get('/users', function (Request $request) {
$users = DataTable::query(User::query())
->columnDefinitions([
Column::group(['name', 'email'])->searchable()->sortable(),
Column::make('created_at')->dateRange()->sortable(),
])
->applyFilters($request->query('filters', []))
->applySort($request->string('col')->toString() ?: null)
->make();
return UserResource::collection($users);
});