PHPackages                             zvizvi/relation-manager-repeater - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Admin Panels](/categories/admin)
4. /
5. zvizvi/relation-manager-repeater

ActiveLibrary[Admin Panels](/categories/admin)

zvizvi/relation-manager-repeater
================================

A Filament plugin that enhances Relation Managers by providing a Repeater interface, enabling efficient inline editing and management of associated records

2.0.0(1y ago)88.3k↓65.9%1[1 issues](https://github.com/zvizvi/filament-relation-manager-repeater/issues)[3 PRs](https://github.com/zvizvi/filament-relation-manager-repeater/pulls)MITPHPPHP ^8.1CI passing

Since Feb 28Pushed 1w ago1 watchersCompare

[ Source](https://github.com/zvizvi/filament-relation-manager-repeater)[ Packagist](https://packagist.org/packages/zvizvi/relation-manager-repeater)[ Docs](https://github.com/zvizvi/filament-relation-manager-repeater)[ GitHub Sponsors](https://github.com/zvizvi)[ RSS](/packages/zvizvi-relation-manager-repeater/feed)WikiDiscussions main Synced 3d ago

READMEChangelog (4)Dependencies (3)Versions (10)Used By (0)

[![Filament Relation Manager Repeater](https://raw.githubusercontent.com/zvizvi/filament-relation-manager-repeater/main/.github/banner.jpg)](https://github.com/zvizvi/filament-relation-manager-repeater)Filament Relation Manager Repeater
==================================

[](#filament-relation-manager-repeater)

[![Latest Version on Packagist](https://camo.githubusercontent.com/98ec1790d915cff571d74ac36f3a35ac203e5b092bb8cdf0289e75a9668d9e6d/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f7a76697a76692f72656c6174696f6e2d6d616e616765722d72657065617465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zvizvi/relation-manager-repeater)[![Total Downloads](https://camo.githubusercontent.com/ffb8558da107cbc94b5970144f6295164b52aeaad9e7e450adf552e3c6b09a3f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f7a76697a76692f72656c6174696f6e2d6d616e616765722d72657065617465722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/zvizvi/relation-manager-repeater)

A Filament plugin that enhances Relation Managers by providing a Repeater interface, enabling efficient inline editing and management of associated records.

Version Compatibility
---------------------

[](#version-compatibility)

- Version 1.x is compatible with Filament 3
- Version 2.x and above is compatible with Filament 4

Installation
------------

[](#installation)

```
composer require zvizvi/relation-manager-repeater
```

Usage
-----

[](#usage)

Add the `RelationManagerRepeaterAction` to your relation manager's table actions:

```
use Zvizvi\RelationManagerRepeater\Tables\RelationManagerRepeaterAction;

class PostsRelationManager extends RelationManager
{
    protected static string $relationship = 'posts';

    public function table(Table $table): Table
    {
        return $table
            ->columns([
                //
            ])
            ->headerActions([
                RelationManagerRepeaterAction::make(),
            ]);
    }
}
```

Advanced Configuration
----------------------

[](#advanced-configuration)

Since `RelationManagerRepeaterAction` extends Filament's Action class, all standard Action configurations are available (label, modalWidth, modalHeading, icon, color, etc.).

You can also customize the repeater component using the `configureRepeater` method. All standard Filament repeater options are available (reorderable, collapsible, cloneable, grid, itemLabel, etc.):

```
use Filament\Forms\Components\Repeater;

public function table(Table $table): Table
{
    return $table
        ->columns([
            //
        ])
        ->headerActions([
            RelationManagerRepeaterAction::make()
                ->modalWidth('5xl')
                ->modalHeading('Edit Related Records')
                ->configureRepeater(function (Repeater $repeater) {
                    return $repeater
                        ->reorderable()
                        ->collapsible()
                        ->cloneable()
                        ->defaultItems(0)
                        ->maxItems(5);
                }),
        ]);
}
```

Form Customization
------------------

[](#form-customization)

By default, the repeater uses the form schema defined in your relation manager. You can customize which fields are displayed in the repeater by providing a custom schema:

```
RelationManagerRepeaterAction::make()
    ->configureRepeater(function (Repeater $repeater) {
        return $repeater
            ->schema([
                // Only include specific fields
                TextInput::make('title'),
                TextInput::make('slug'),
                Toggle::make('is_published'),
                // Other fields...
            ]);
    }),
```

This allows you to display only a subset of fields from your relation manager's form, or even add custom fields specifically for the repeater interface.

How It Works
------------

[](#how-it-works)

The plugin creates a modal with a repeater component that loads all related records. When you save the form:

- For each record, it determines whether to:
    - Delete records that are no longer present
    - Update existing records with new data
    - Create new records that were added
- Shows a success notification

This approach provides a clean interface for managing multiple related records at once.

Screenshots
-----------

[](#screenshots)

- *Relation manager action button:*

[![Relation manager action button](https://private-user-images.githubusercontent.com/4354421/417383499-152f5946-4269-4d57-bc63-f7ede49d1bad.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzg4MDMsIm5iZiI6MTc4Mjk3ODUwMywicGF0aCI6Ii80MzU0NDIxLzQxNzM4MzQ5OS0xNTJmNTk0Ni00MjY5LTRkNTctYmM2My1mN2VkZTQ5ZDFiYWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDJUMDc0ODIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTllNjBlZWM4MzI1YzhkNzU3M2MwNjlhNDA5ZmRmZTFjZWIxNjU0NzhkZmQ2YjBkMGE4YzEzMjQzMTQ0NzNlOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.76gZgeZgrzzAuvWD08cjAvhwqhL0nk_yBDrpkv2K064)](https://private-user-images.githubusercontent.com/4354421/417383499-152f5946-4269-4d57-bc63-f7ede49d1bad.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzg4MDMsIm5iZiI6MTc4Mjk3ODUwMywicGF0aCI6Ii80MzU0NDIxLzQxNzM4MzQ5OS0xNTJmNTk0Ni00MjY5LTRkNTctYmM2My1mN2VkZTQ5ZDFiYWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDJUMDc0ODIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9ZTllNjBlZWM4MzI1YzhkNzU3M2MwNjlhNDA5ZmRmZTFjZWIxNjU0NzhkZmQ2YjBkMGE4YzEzMjQzMTQ0NzNlOSZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.76gZgeZgrzzAuvWD08cjAvhwqhL0nk_yBDrpkv2K064)- *Action form editor:*

[![Action form editor](https://private-user-images.githubusercontent.com/4354421/417384447-155fb063-aacd-49b5-8aec-22099c88bf26.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzg4MDMsIm5iZiI6MTc4Mjk3ODUwMywicGF0aCI6Ii80MzU0NDIxLzQxNzM4NDQ0Ny0xNTVmYjA2My1hYWNkLTQ5YjUtOGFlYy0yMjA5OWM4OGJmMjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDJUMDc0ODIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjNhMzVhYjllZWVmZGQwN2ZiZDViZWJmOTE1ZTBhMmZmM2YzNWRhODc0YjMyYWI0NjlkZTgwMGRhYjZjMDJmYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5K6u-v2Lqz_f8CzCJMiDmFicdKuh5j6XdWOJmEklI8A)](https://private-user-images.githubusercontent.com/4354421/417384447-155fb063-aacd-49b5-8aec-22099c88bf26.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3ODI5Nzg4MDMsIm5iZiI6MTc4Mjk3ODUwMywicGF0aCI6Ii80MzU0NDIxLzQxNzM4NDQ0Ny0xNTVmYjA2My1hYWNkLTQ5YjUtOGFlYy0yMjA5OWM4OGJmMjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDcwMiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA3MDJUMDc0ODIzWiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NjNhMzVhYjllZWVmZGQwN2ZiZDViZWJmOTE1ZTBhMmZmM2YzNWRhODc0YjMyYWI0NjlkZTgwMGRhYjZjMDJmYiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmcmVzcG9uc2UtY29udGVudC10eXBlPWltYWdlJTJGcG5nIn0.5K6u-v2Lqz_f8CzCJMiDmFicdKuh5j6XdWOJmEklI8A)Changelog
---------

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details.

Security Vulnerabilities
------------------------

[](#security-vulnerabilities)

Please review [our security policy](../../security/policy) on how to report security vulnerabilities.

Credits
-------

[](#credits)

- [zvizvi](https://github.com/zvizvi)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

45

—

FairBetter than 91% of packages

Maintenance74

Regular maintenance activity

Popularity30

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 82.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~30 days

Total

5

Last Release

372d ago

Major Versions

1.0.2 → 2.0.02025-06-27

2.0.0 → v4.x-dev2025-06-27

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4354421?v=4)[zvizvi](/maintainers/zvizvi)[@zvizvi](https://github.com/zvizvi)

---

Top Contributors

[![zvizvi](https://avatars.githubusercontent.com/u/4354421?v=4)](https://github.com/zvizvi "zvizvi (28 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (2 commits)")

---

Tags

filament-pluginfilamentphp-pluginlaravelfilamentzvizvirelation-manager-repeater

### Embed Badge

![Health badge](/badges/zvizvi-relation-manager-repeater/health.svg)

```
[![Health](https://phpackages.com/badges/zvizvi-relation-manager-repeater/health.svg)](https://phpackages.com/packages/zvizvi-relation-manager-repeater)
```

###  Alternatives

[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.6k](/packages/rawilk-profile-filament-plugin)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)[awcodes/filament-quick-create

Plugin for Filament Admin that adds a dropdown menu to the header to quickly create new items.

251218.4k12](/packages/awcodes-filament-quick-create)[stephenjude/filament-two-factor-authentication

Filament Two Factor Authentication: Google 2FA + Passkey Authentication

84215.9k9](/packages/stephenjude-filament-two-factor-authentication)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k1](/packages/marcelweidum-filament-passkeys)[mradder/filament-logger

Audit logging, activity tracking, exports, alerts, and dashboards for Filament admin panels.

2317.4k](/packages/mradder-filament-logger)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
