[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