---
title: "BE-Formular mit Werten von MM-Tabellen"
url: "https://www.typo3.net/d/108562-be-formular-mit-werten-von-mm-tabellen"
source: "typo3.net"
tags: ["Extensions","Entwicklung","Datenbank","Frage","TCA"]
created: "2011-12-07"
last_reply: "2011-12-11"
replies: 1
solved: false
page: 1
pages: 1
lang: "de"
---

# BE-Formular mit Werten von MM-Tabellen

Extensions › Entwicklung · 1 Antwort · gestartet 2011-12-07

## Eröffnungsbeitrag

**flashsilver** · 2011-12-07 · [Beitrag #1](https://www.typo3.net/d/108562-be-formular-mit-werten-von-mm-tabellen/1)

Hallo,

folgende Anforderung habe ich in meiner Extension, das ein Backend-Modul enthält. Dieses habe ich über den kickstarter in die Ausgangsposition gebracht. Als Datensätze gibt es Projekte und Tests. Diese sind mit einer MM-Tabelle verknüpft, weil beliebig viele Projekte beliebig viele Tests beinhalten können (m:n Beziehung). Die Tests sind fest definiert und wiederholen sich bei Projekten.

Also dachte ich mir ich könnte das Ergebnis eines Tests mit zusätzlichen Feldern (status, starttime, endtime, action, visitor) in die MM-Tabelle speichern. Hier kurz die SQL-Anweisung der beteiligten Tabellen ohne TYPO3-Felder:

Projekte:

```sql
CREATE TABLE tx_ext_project (
number tinytext,
tests int(11) DEFAULT '0' NOT NULL,
	
PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid)
);
```

Tests:

```sql
CREATE TABLE tx_ext_test (
title tinytext,

PRIMARY KEY (uid),
KEY parent (pid),
KEY t3ver_oid (t3ver_oid,t3ver_wsid)
);
```

Die daraus resultierende MM-Tabelle:

```sql
CREATE TABLE tx_ext_project_test_mm (
  uid_local int(11) DEFAULT '0' NOT NULL,
  uid_foreign int(11) DEFAULT '0' NOT NULL,
  tablenames varchar(30) DEFAULT '' NOT NULL,
  sorting int(11) DEFAULT '0' NOT NULL,
  status int(11) DEFAULT '0' NULL,
  starttime int(11) DEFAULT '0' NULL,
  endtime int(11) DEFAULT '0' NULL,
  action tinytext,
  visitor tinytext,
  KEY uid_local (uid_local),
  KEY uid_foreign (uid_foreign)
);
```

Im Backendmodul gibt es eine Liste mit den Projekten (Function #1), die über dem Bleistift-Symbol bearbeitet werden können. Als Redakteur kann man nun bestimmte Tests zu einem Projekt hinzufügen. Anschließend erscheint in der Listenansicht zusätzlich ein Link zum bearbeiten der Tests (Derzeit noch als  Function #2 realisiert). Hier soll ein Formular erscheinen, mit allen eben hinzugefügten Tests mit zunächst leeren Feldern. Der Redakteur ändert den Status (Selectbox) oder trägt die Start- und Endzeiten für die Tests ein. Anschließend speichert er es ab.

Mein Problem besteht daran, wie ich dem TCEforms mitteilen soll, wie die eingetragenden Werte in die Datenbank übernommen werden. Ich weiß dass man ein Datensatz ganz einfach mit TCEforms darstellen und rendern lassen kann. Ein Beispiel habe ich [hier](https://www.typo3.net/d/85598-backend-module-schreiben) im Forum gefunden.
Nur möchte ich ein Formular erstellen, dass dann die eingetragende Werte in die MM-Tabelle übernimmt.

Geht das überhaupt? Hat da jemand so etwas realisieren können oder mir Hinweise in Form von Links posten?

PS: Eine Alternative habe ich bereits im Hinterkopf. Eine zusätzliche Tabelle *tx_ext_results*, die über eine 1:n-Beziehung mit der Test-Tabelle verknüpft ist. Diesen Ansatz würde ich dann verfolgen, wenn ich keine Lösung finden kann.

viele grüße
flashsilver

[Bild: \[upl-image-preview uuid=9c87b184-36b8-557b-be7d-a2aa8ab169ea url=https://www.typo3.net/assets/files/typo3net/643-function2.jpg alt=function2.jpg thumbnail_url=https://www.typo3.net/assets/files/typo3net/643-function2.jpg\]](https://www.typo3.net/assets/files/typo3net/643-function2.jpg)

## Antworten

### [#2](https://www.typo3.net/d/108562-be-formular-mit-werten-von-mm-tabellen/2) · aemka · 2011-12-11

In eine mm Tabelle gehören keine Nutzdaten. Zumindest ist das in TYPO3 nicht so direkt vorgesehen. Mache das über eine Extra Results-Tabelle.

---

Quelle: „BE-Formular mit Werten von MM-Tabellen“, typo3.net, https://www.typo3.net/d/108562-be-formular-mit-werten-von-mm-tabellen
Beiträge von Mitgliedern des Forums. Bitte mit Link auf die Diskussion zitieren.
