filament/tables
Powerful table builder for Filament admin panels. Add searchable, sortable, filterable tables with actions, bulk actions, and column types. Integrates cleanly with Eloquent and supports pagination, customization, and responsive layouts.
import AutoScreenshot from "@components/AutoScreenshot.astro"
The checkbox column allows you to render a checkbox inside the table, which can be used to update that database record without needing to open a new page or a modal:
use Filament\Tables\Columns\CheckboxColumn;
CheckboxColumn::make('is_admin')
Hooks may be used to execute code at various points within the checkbox's lifecycle:
CheckboxColumn::make()
->beforeStateUpdated(function ($record, $state) {
// Runs before the state is saved to the database.
})
->afterStateUpdated(function ($record, $state) {
// Runs after the state is saved to the database.
})
The checkbox column does not automatically check Laravel Model Policies before saving changes. When a user updates a value via the checkbox column, Filament checks whether the column is disabled() but does not run any update policy gate check. This means that if a user can see a record in the table and the column is not disabled, they can update that column's value regardless of any update policy you have defined. If you need to restrict who can edit this column, you should use the disabled() method to conditionally prevent editing based on your own authorization logic, for example disabled(fn ($record) => $record->user_id !== auth()->id()). Alternatively, consider using a full edit page or modal action where Filament's resource authorization is enforced.
How can I help you explore Laravel packages today?