[TYPO3-german] Extbase Frustration bei n:1

Jan Kornblum jan.kornblum at gmx.de
Thu May 2 17:18:30 CEST 2013


Hi Claus,

danke für deine Antwort.

>  > Nun möchte ich aber vom A-Objekt Zugriff auf alle dazugehörigen
>  > B-Objekte haben
>
> meinem Verständnis nach befragst Du dazu das Repository von B und gibst als 
> Filter A mit.
> $this->modelBRepository->findByModelA($modelA);

Ich bin mittlerweile auch schon weiter, so dass es wie gewünscht via 
$modelA->getModelsB() funktioniert. Die Handarbeit war:

1. ext_tables.sql:
Für ModelA das fehlende Feld "ModelsB" (int(11) not null...) ergänzen

2. Domain/Model/ModelA.php:
Property $ModelsB sowie die die Getter und Setter anlegen

3. Configuration/TCA/ModelA.php:
Hier eine Column-Definition für "ModelsB" hinzufügen. Scheinbar muss 
diese "config->type=inline" oder "config->type=select" sein (wichtig 
ist zusätzlich zur erforderlichen Angabe "foreign_table" die Angabe 
"foreign_field") damit Extbase die Relation hinbekommt. Wird letztere 
nicht gesetzt, können Datensätze im BE zwar über beide Wege angelegt 
werden, Extbase kann aber nur die auf dem IRRE-Weg erzeugten zuordnen.

Im Prinzip habe ich also auf ModelA Seite alles erzeugt, was der 
ExtensionBuilder auch getan hätte, wenn ich eine A (1:n) B Relation 
erstellt hätte.

Foglender Fragen bleiben für mich offen:

1. Funktionieren tut alles prima so, aber ist das auch richtig?

2. Warum "kann" der ExtensionBuilder kein "vollständiges" n:1? Ist das 
gewollt?

Grüße, Jan




More information about the TYPO3-german mailing list