[Frage] Extbase repository query unterobjekte filtern

  • zeitgenosse zeitgenos...
    Padawan
    0 x
    47 Beiträge
    0 Hilfreiche Beiträge
    11. 02. 2014, 09:30

    Hello,

    stehe gerade auf dem schlauch.

    Also ich habe ein Modell Garage, darin stehen Autos.

    Jetzt kann ich mir ohne Probleme alle Autos welche in einer Garage stehen ausgeben lassen:

    Autos Repository

    1. $query->matching($query->equals('pid', $garage));

    Ok, jetzt hat jedes Auto Bauteile (1:n Beziehung)

    Die bekomme ich ja ganz automatisch vom Repository zurückgeliefert.

    Jetzt haben aber die Bauteile noch einen Liferanten. Und ich hätte gerne alle Autos inklusive die Bauteile von Lieferant a, und zwar nur von Lieferant a.

    Ginge sowas direkt im Auto Repoitory oder muss ich dies im Controller oder erst im Template filtern?

    Grüsse


  • 1
  • harald1972 harald197...
    Sternenflotten-Admiral
    0 x
    198 Beiträge
    13 Hilfreiche Beiträge
    11. 02. 2014, 15:13

    Ginge sowas direkt im Auto Repoitory oder muss ich dies im Controller oder erst im Template filtern?

    Ohne deine Struktur zu kennen, sag ich mal: Ja und nein ;)
    Möglichkeiten gibt es viele. Und (fast) alles ist machbar.
    Dein Template kann aus allen Daten, die du ihm übergibst, entscheiden, was davon und in welcher Art angezeigt wird. Der Controller kann Daten überprüfen (und filtern), bevor er sie an die View übergibt.
    Und mit dem Repository kannst du letztendlich alles filtern, wenns sein muss mit hartcodiertem SQL - das sollte allerdings deine letzte Option darstellen.

    Welchen Weg du einschlägst, solltest du anhand Logik, Ablauf und Struktur entscheiden.
    Letztendlich entscheidest du.

    Edit:
    Jetzt hab ich erkannt, daß du den Artikel 2mal geschrieben hast, und der andere schon beanwortet wurde.
    ...
    Wenn ich das jetzt richtig verstanden hab, willst du sowieso ALLE Autos.
    Dann muss die View auch alle Autos erhalten. Die Entscheidung, was du davon wie ausgiebst, geht dann mit einem Konstrukt, wie Velletti im anderen Thread schon geschrieben hat.

    Gruß

  • 1