© 2026 Hedgehog Software, LLC

TwitterGitHubDiscord
More
CommunitiesDocsAboutTermsPrivacy
Search
Star
Setup for Free
FilamentF
Filament•3y ago•
4 replies
Aaron Lawrence

RelationshipManager Table Actions.

I've created a relationship manager, with a view page, and applied a table class so it is visible on the parent view component however, the actions don't seem to show at all.
I figured it might be to do with authorisation, however, that didn't seem to be the case.

Everything but the actions are working as expected.

class AgreementsRelationManager extends RelationManager
{
    protected static string $relationship = 'agreements';

    protected static ?string $recordTitleAttribute = 'name';

    public function table(Table $table): Table
    {
        return $table

            ->columns([
                Tables\Columns\TextColumn::make('name'),
                Tables\Columns\TextColumn::make('starts_at')->date(),
                Tables\Columns\TextColumn::make('ends_at')->date(),
                Tables\Columns\TextColumn::make('billing_type')
                    ->badge()
                    ->color(fn (string $state): string => match ($state) {
                        'fixedfee' => 'gray',
                        'payg' => 'warning',
                        'subscription' => 'success',
                        'prepaid' => 'danger',
                    }),
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
                Tables\Actions\DeleteAction::make(),
            ])
            ->emptyStateActions([
                Tables\Actions\CreateAction::make(),
            ]);
    }
}
class AgreementsRelationManager extends RelationManager
{
    protected static string $relationship = 'agreements';

    protected static ?string $recordTitleAttribute = 'name';

    public function table(Table $table): Table
    {
        return $table

            ->columns([
                Tables\Columns\TextColumn::make('name'),
                Tables\Columns\TextColumn::make('starts_at')->date(),
                Tables\Columns\TextColumn::make('ends_at')->date(),
                Tables\Columns\TextColumn::make('billing_type')
                    ->badge()
                    ->color(fn (string $state): string => match ($state) {
                        'fixedfee' => 'gray',
                        'payg' => 'warning',
                        'subscription' => 'success',
                        'prepaid' => 'danger',
                    }),
            ])
            ->actions([
                Tables\Actions\EditAction::make(),
                Tables\Actions\DeleteAction::make(),
            ])
            ->emptyStateActions([
                Tables\Actions\CreateAction::make(),
            ]);
    }
}
Solution
Override
isReadOnly()
isReadOnly()
in the Relation Manager to return false.
Jump to solution
Filament banner
FilamentJoin
A powerful open source UI framework for Laravel • Build and ship admin panels & apps fast with Livewire
20,307Members
Resources
Was this page helpful?

Similar Threads

Recent Announcements

Similar Threads

RelationshipManager Table Ordering
FilamentFFilament / ❓┊help
2y ago
Table Actions for RelationshipManager be Visible in ViewPage
FilamentFFilament / ❓┊help
3y ago
Split table actions
FilamentFFilament / ❓┊help
16mo ago
Widget table actions
FilamentFFilament / ❓┊help
2y ago