[TYPO3-german] Extbase -> verschachtelte m:m-Abfrage im Repository fomulieren?
Eike Starkmann
starkmann at undkonsorten.com
Thu Aug 1 17:16:00 CEST 2013
Hi,
warum willst Du das überhaupt so machen?
Ich verstehe das so:
Event<-M:M->Konzerte<-M:M->Werke
In Fluid kannst du dich dich einfach über diese Relationen bewegen:
Event.Konzerte.Werke.
Gut ok da es alles MM verknüfpungen sind muss du natürlich schleifen bauen
Pseudo:
foreach Events as Event
forach Event.Konzerte as Konzert
foreach Konzert.Werke as Werk
{Wker}
done
done
done
Oder verstehe ich nicht was Du willst.
Bis denne, Eike
On 01.08.2013 10:42, Robert Wildling wrote:
> Hi, Extbase-Spezis,
>
> Kann mir jemand bitte einen Tipp bei folgendem Problem geben?
> Wieder mal eine Event-Extension...
>
> Ein Event kann mehere Konzerte haben, und jedes dieser Konzerte kann
> Werke am Programm haben, die Uraufführungen sind - diese gilt es, von
> "Event" aus zu finden und als kleine Liste darzustellen - und zwar auf
> allen möglichen Konzerten.
>
> Event, Konzerte und Werke sind alles eigene vollständige Objekte, die
> über m:m Relationen miteinander verknüpft werden.
>
> in Event gibt es dazu ein Listenfeld "concerts", das per Klick gefüllt
> wird, und in Konzerte wiederum gibt es ein Feld "Premieres", das per
> klick Werke einfügt.
>
> Die erste m:m-Relation wird ja von Extbase selbst ganz fein gehandelt,
> aber wie geht man die nächste Ebene an m:m-Relation an?
>
> Derzeit versuche ich mich an diesem da, komm aber nicht weiter, weil ich
> nicht weiß, wie ich die "Premieres" ins Spiel bringen soll:
>
>
> /**
> * Find all concerts and within them all premieres. Group them in a
> list (alphabetically?)
> *
> * @param
> \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Rowild\Kofomi\Domain\Model\EventGroups>
> $eventGroup
> * // ist das der richtige return Type???
> * @return
> \TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Rowild\Kofomi\Domain\Model\Concerts>
> $premieres
> */
> public function findConcertPremieres($eventGroup) {
> $query = $this->createQuery();
> // Muss da irgendwo ein "groupBy" sein...???
> $query->matching(
> $query->logicalAnd(
> $query->contains('eventGroup', $eventGroup),
> $query->matching(
> $query->greaterThan('premieres', 0); // <= geht
> das??? weil m:m?
> )
> );
> );
> // wie nach dem Titel der Werke, die UAs sind, ordnen?
> $query->setOrderings(
> array (
> 'premieres.title' =>
> \TYPO3\CMS\Extbase\Persistence\QueryInterface::ORDER_ASCENDING,
> )
> );
> return $query->execute();
> }
>
> (Es gibt übrigens mehrere Event-Typen, deswegen die eventGroup...)
>
> Das nächste Problem ist: ich kann den Code nicht auf seine
> Funktionalität prüfen, weil ich nicht weiß, wie ich diese Spezielle
> Abfrage aus Fluid aufrufe...
>
> Ich bitte um Hilfe - danke!
> Schöne Grüße,
> Robert
>
>
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
--
EIKE STARKMANN
starkmann at undkonsorten.com
+49.30.20236354 [fon]
UNDKONSORTEN GBR
Waldemarstr. 38
10999 Berlin
www.undkonsorten.com
+49.30.20236354 [fon]
+49.30.20236354-9 [fax]
thomas alboth, felix althaus + jochen biedermann [gesellschafter]
More information about the TYPO3-german
mailing list