[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