Skip to content

Pagination

Pagination Methods

php
// Full - includes total count, "Showing 1 to 10 of 42 results"
ServerTable::make(Server::query())->paginate();

// Simple - no COUNT query, faster, "Showing 1 to 10 results"
ServerTable::make(Server::query())->simplePaginate();
MethodLaravel MethodCOUNT QueryFirst/Last Buttons
->paginate()paginate()YesYes
->simplePaginate()simplePaginate()NoNo

Per-Page

php
// Via class property
class ServerTable extends Table
{
    protected int $perPage = 25;
}

// Via fluent setter
ServerTable::make(Server::query())->perPage(25)->paginate();

Custom Page Name

For pages with multiple tables:

php
class ServerTable extends Table
{
    protected string $pageName = 'serversPage';
}

URL: /dashboard?serversPage=2&sitesPage=3

Custom Pagination UI

tsx
<InertiaTable
    tableData={servers}
    renderPagination={({ links, meta, onPageChange }) => (
        <div className="flex justify-center gap-2 p-4">
            <button
                disabled={!links.prev}
                onClick={() => onPageChange(meta.current_page - 1)}
            >
                Previous
            </button>
            <span>Page {meta.current_page}{meta.last_page ? ` of ${meta.last_page}` : ''}</span>
            <button
                disabled={!links.next}
                onClick={() => onPageChange(meta.current_page + 1)}
            >
                Next
            </button>
        </div>
    )}
/>
vue
<!-- Coming soon -->