PHPackages                             extrameile/em\_form\_repeatablesave - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. extrameile/em\_form\_repeatablesave

ActiveTypo3-cms-extension[Utility &amp; Helpers](/categories/utility)

extrameile/em\_form\_repeatablesave
===================================

Allows saving of form elements which are repeatable.

1.0.1(4y ago)2192[1 issues](https://github.com/extrameile/em_form_repeatablesave/issues)[1 PRs](https://github.com/extrameile/em_form_repeatablesave/pulls)GPL-2.0+PHPPHP &gt;=7.2.0 &lt;7.4.99CI failing

Since Feb 3Pushed 2y ago2 watchersCompare

[ Source](https://github.com/extrameile/em_form_repeatablesave)[ Packagist](https://packagist.org/packages/extrameile/em_form_repeatablesave)[ Docs](https://www.extrameile-gehen.de/)[ RSS](/packages/extrameile-em-form-repeatablesave/feed)WikiDiscussions master Synced 3w ago

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

Custom form finisher "SaveRepeatableToDatabase"
===============================================

[](#custom-form-finisher-saverepeatabletodatabase)

TYPO3 EXT:form save to database finisher for repeatable data

The TYPO3 extension allows to save repeatable data into database tables like the SaveToDatabaseFinisher from core. To create forms with repeatable data in TYPO3 v8 LTS, you can use the repeatable\_form\_elements extension from TRITUM [https://github.com/tritum/repeatable\_form\_elements](https://github.com/tritum/repeatable_form_elements)

Usage
-----

[](#usage)

The finisher is used like the SaveToDatabase finisher from TYPO3 Core. It only introduce a new option called "repeat", if it isn't set, the core code path is used. If you set it to the identifier of a repeating container it will use this one to save data repeatingly to the table.

Example
-------

[](#example)

```
finishers:
  -
    options:
      -
        table: fe_users
        mode: insert
        databaseColumnMappings:
          pid:
            value: '1'
          crdate:
            value: '{__currentTimestamp}'
          tstamp:
            value: '{__currentTimestamp}'
          tx_extbase_type:
            value: Tx_Extbase_Domain_Model_FrontendUser
        elements:
          username:
            mapOnDatabaseColumn: username
          email:
            mapOnDatabaseColumn: email
      -
        table: fe_users_locations
        mode: insert
        repeat: locationcontainer
        databaseColumnMappings:
          pid:
            value: '1'
          crdate:
            value: '{__currentTimestamp}'
          tstamp:
            value: '{__currentTimestamp}'
          fe_user:
            value: '{SaveRepeatableToDatabase.insertedUids.1}'
        elements:
          locationstreet:
            mapOnDatabaseColumn: street
          locationplace:
            mapOnDatabaseColumn: place
          locationzip:
            mapOnDatabaseColumn: zip
          locationcity:
            mapOnDatabaseColumn: city
      -
        table: fe_users
        mode: update
        whereClause:
          uid: '{SaveRepeatableToDatabase.insertedUids.0}'
        databaseColumnMappings:
          locations:
            value: '{SaveRepeatableToDatabase.countInserts.1}'
    identifier: SaveRepeatableToDatabase

```

Hint
----

[](#hint)

This implementation won't work with nested repeatable form elements.

###  Health Score

25

—

LowBetter than 35% of packages

Maintenance10

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity58

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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 ~727 days

Total

2

Last Release

1614d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/60394155?v=4)[extrameile-gehen](/maintainers/extrameile-gehen)[@extrameile-gehen](https://github.com/extrameile-gehen)

---

Top Contributors

[![opi99](https://avatars.githubusercontent.com/u/1672061?v=4)](https://github.com/opi99 "opi99 (1 commits)")

---

Tags

typo3typo3-cms-extensiontypo3-formextensiontypo3

### Embed Badge

![Health badge](/badges/extrameile-em-form-repeatablesave/health.svg)

```
[![Health](https://phpackages.com/badges/extrameile-em-form-repeatablesave/health.svg)](https://phpackages.com/packages/extrameile-em-form-repeatablesave)
```

###  Alternatives

[typo3/cms-styleguide

TYPO3 extension to showcase TYPO3 Backend capabilities

106760.3k33](/packages/typo3-cms-styleguide)[pagemachine/typo3-formlog

Form log for TYPO3

23238.6k8](/packages/pagemachine-typo3-formlog)[wazum/sluggi

TYPO3 extension for URL slug management with inline editing, auto-sync, locking, access control, and redirects

40529.5k](/packages/wazum-sluggi)[wapplersystems/form_extended

Multi upload field, sender addresses in site config, new field types and other

1322.4k6](/packages/wapplersystems-form-extended)[eliashaeussler/typo3-form-consent

Extension for TYPO3 CMS that adds double opt-in functionality to EXT:form

1595.5k](/packages/eliashaeussler-typo3-form-consent)[friendsoftypo3/visual-editor

TYPO3 CMS Visual Editor - Brings a modern WYSIWYG editing experience to TYPO3 CMS.

576.1k2](/packages/friendsoftypo3-visual-editor)

PHPackages © 2026

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