Introduction
Filament’s Table Builder provides a complete solution for displaying, filtering, and managing data in your Laravel applications. Built on top of Eloquent, it offers a powerful PHP-based API with extensive customization options while maintaining simplicity. Tables are composed of several key components:- Columns - Display data in various formats
- Filters - Allow users to scope and search data
- Actions - Add interactive buttons and bulk operations
- Pagination - Handle large datasets efficiently
Getting started
Define a table using thetable() method, which returns a Table instance configured with columns, filters, and actions:
Defining columns
Columns determine what data appears in each row of your table. Filament includes many prebuilt column types:Text Column
Display text content with formatting, badges, and icons
Icon Column
Show icons or boolean states with colors
Image Column
Display images with circular, square, or stacked layouts
Color Column
Preview color values as swatches
Column basics
Create columns using the staticmake() method with the attribute name:
Accessing relationships
Use dot notation to display data from Eloquent relationships:Making columns sortable
Enable sorting by clicking column headers:Making columns searchable
Add a search field to filter by column content:Pagination
Tables are paginated by default with options for 5, 10, 25, and 50 records per page.Customizing pagination options
Setting default page size
Using simple pagination
Using cursor pagination
Disabling pagination
Clickable rows
Make entire rows clickable using therecordUrl() method:
Reordering records
Allow drag-and-drop reordering with a sort column:sort column stores the order. Users can toggle reordering mode with a button.
Descending order
Styling table rows
Striped rows
Conditional row classes
Customizing the table header
Add a heading and description:Polling content
Automatically refresh table data at intervals:Deferred loading
Load table data asynchronously for better initial page performance:Global settings
Configure default behavior for all tables in a service provider:Next steps
Columns
Learn about all available column types and customization options
Filters
Add powerful filtering capabilities to your tables
Actions
Implement row actions, bulk actions, and header actions