[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