[TYPO3-german] Extbase: Wie komme ich an die UID eines gepspeicherten Objektes

Christian Bleicher c.bleicher at die-lobby.de
Wed Nov 10 21:30:57 CET 2010


Hallo  Steffen,

so einfach geht das an der stelle leider nicht.

Der Aufbau ist User<-Attendant->Event.

Der Attendant stellt sozusagen die Beziehung her und hat auch andere
Attribute. 

Deshalb stelle ich die Beziehung so her. Im Controller will ich nun
einen User anlegen und den Teilnehmer gleich mit dazu. Deshalb der
Versuch wie unten beschrieben.

Kann ich evtl einen forward auf eine andere controller action machen und
hier den Attendant übergeben? Würde das dann klappen?

Oder gibt es deiner Meinung nach einen besseren Weg das zu lösen?

Grüße
Christian

Am Mittwoch, den 10.11.2010, 18:30 +0100 schrieb Steffen Ritter: 
> Am 10.11.2010 17:06, schrieb Christian Bleicher:
> > Hallo zusammen,
> >
> > ich habe ein Problem mit Extbase.
> >
> > Ich versuche in meinem Controller folgende Aufrufe aufzurufen:
> >
> > $this->userRepository->add($user);
> > $user->addMainAttendantToEvent($eventRepos->findByUid($data['event']));
> >
> > Folgendes sollte passieren:
> > Die Methode "$user->addMainAttendantToEvent()" sollte normalerweise
> > einen Teilnehmer für ein Event abspeichern. Das klappt auch soweit.
> >
> > Leider bleibt die Spalte User jedoch leer. Es scheint daher zu kommen,
> > dass $user->getUid() auch nach dem hinzufügen zum Repository leider kein
> > Ergebnis liefert. Gibt es eine schöne Möglichkeit an die uid des
> > Objektes ranzukommen, das ich in der Zeile zuvor gespeichert habe?
> >
> > Grüße
> > Christian
> >
> >
> du hast nicht vorher gespeichert... das Persistieren erfolgt erst nach 
> dem der Controller durchgelaufen ist... vorher ist der $user nur zum 
> Speichern vorgemerkt.
> 
> Wenn ich mir so ansehe was du tust und was du beschreibst glaube ich 
> aber eher dass dein modell falsch ist...
> also entweder müsstenst du $event->addAttendent($user) machen --> 
> extbase würde sich  beim speichern drum kümmern
> 
> oder du müsstest $user->addEvent($eventRepos->findByUid) machen, dann 
> ist die user id auch egal an der stelle...
> 
> Wenn du die Relation von Hand irgendwo herstellst, machst du "Bäääh".
> 
> mfG
> 
> Steffen Ritter
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german






More information about the TYPO3-german mailing list