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(10mo ago)87.5k↓38.6%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 1mo 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 1mo ago

READMEChangelog (4)Dependencies (3)Versions (8)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.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUzNDQyNzQsIm5iZiI6MTc3NTM0Mzk3NCwicGF0aCI6Ii80MzU0NDIxLzQxNzM4MzQ5OS0xNTJmNTk0Ni00MjY5LTRkNTctYmM2My1mN2VkZTQ5ZDFiYWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMjMwNjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmVmZjBlYmU5ZTg1OTYwOGQ2NzJkODIwODYxNjIyMjkyN2M3MDM3ODk4ZTc0NjBhNDVjY2VhNThhZmMzNjVkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.OZZZKkeo5ZJU2z4bD0yh3oVg29SMQBN3wk_qVCvvG3U)](https://private-user-images.githubusercontent.com/4354421/417383499-152f5946-4269-4d57-bc63-f7ede49d1bad.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUzNDQyNzQsIm5iZiI6MTc3NTM0Mzk3NCwicGF0aCI6Ii80MzU0NDIxLzQxNzM4MzQ5OS0xNTJmNTk0Ni00MjY5LTRkNTctYmM2My1mN2VkZTQ5ZDFiYWQucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMjMwNjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MmVmZjBlYmU5ZTg1OTYwOGQ2NzJkODIwODYxNjIyMjkyN2M3MDM3ODk4ZTc0NjBhNDVjY2VhNThhZmMzNjVkYyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.OZZZKkeo5ZJU2z4bD0yh3oVg29SMQBN3wk_qVCvvG3U)- *Action form editor:*

[![Action form editor](https://private-user-images.githubusercontent.com/4354421/417384447-155fb063-aacd-49b5-8aec-22099c88bf26.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUzNDQyNzQsIm5iZiI6MTc3NTM0Mzk3NCwicGF0aCI6Ii80MzU0NDIxLzQxNzM4NDQ0Ny0xNTVmYjA2My1hYWNkLTQ5YjUtOGFlYy0yMjA5OWM4OGJmMjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMjMwNjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MGMxNGZlNzVmODNlZjViMGRjYjI1OTVlYWM1NmQ3NTlmODg0YmRhMTkyNGRmNzc0MWQxY2JiNzM2YzQ2ODU0NiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.dJdyG_R1C5bJOpzzlbqImxlzmIXS1mDqCSvBeMfzY3E)](https://private-user-images.githubusercontent.com/4354421/417384447-155fb063-aacd-49b5-8aec-22099c88bf26.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzUzNDQyNzQsIm5iZiI6MTc3NTM0Mzk3NCwicGF0aCI6Ii80MzU0NDIxLzQxNzM4NDQ0Ny0xNTVmYjA2My1hYWNkLTQ5YjUtOGFlYy0yMjA5OWM4OGJmMjYucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI2MDQwNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNjA0MDRUMjMwNjE0WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9MGMxNGZlNzVmODNlZjViMGRjYjI1OTVlYWM1NmQ3NTlmODg0YmRhMTkyNGRmNzc0MWQxY2JiNzM2YzQ2ODU0NiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.dJdyG_R1C5bJOpzzlbqImxlzmIXS1mDqCSvBeMfzY3E)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

44

—

FairBetter than 92% of packages

Maintenance71

Regular maintenance activity

Popularity31

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity51

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

325d ago

Major Versions

1.0.2 → 2.0.02025-06-27

2.0.0 → v4.x-dev2025-06-27

### Community

Maintainers

![](https://www.gravatar.com/avatar/4cf30ec634479d6db393e6e41682df54cf1e5756a4cafc171ef126ad8034f0d6?d=identicon)[zvizvi](/maintainers/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

[awcodes/filament-quick-create

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

246177.6k7](/packages/awcodes-filament-quick-create)[guava/filament-knowledge-base

A filament plugin that adds a knowledge base and help to your filament panel(s).

206120.5k1](/packages/guava-filament-knowledge-base)[inerba/filament-db-config

A Filament plugin for database-backed application settings and editable content, with caching and easy page generation.

329.1k](/packages/inerba-filament-db-config)[caresome/filament-neobrutalism-theme

A neobrutalism theme for FilamentPHP admin panels

303.2k](/packages/caresome-filament-neobrutalism-theme)[andreia/filament-ui-switcher

Add a modal with options to switch between different UI layouts and styles (colors, fonts, font sizes).

233.8k](/packages/andreia-filament-ui-switcher)[craft-forge/filament-language-switcher

Zero-config language switcher for Filament admin panels. Automatically scans available translations, renders dropdown with country flags, persists selection via sessions.

1016.4k](/packages/craft-forge-filament-language-switcher)

PHPackages © 2026

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