Zum Inhalt springen

Extbase: Datenbankabfrage eines untergeordneten Objekts einschränken

Erstellt am 16. Mai 2011 · Noch keine Antworten

Tags: Frage

Eydamos ·

Hallo,

zusertmal die Allgemeine Problemstellung:

Es gibt eine Kategorie. Diese Kategorie hat Produkte und ein Produkt wiederrum hat je nach Land verschiedene Preise.
Wenn ich eine Kategorie im FE darstelle sollen auch die Produkte der Kategorie dargestellt werden und der Preis des jeweiligen Produkts, je nachdem welchem Land der registrierte Benutzer angehört.

Sicher könnte ich im CategoryController vor der Übergabe an Fluid für jedes Produkt die Preise durchgehen und alle Preise bis auf den für das Land passenden rausschmeißen. Dies sehe ich aber als wenig performant an, da ja von der Datenbank eine Menge unnötiger Daten abgefragt werden.

Die Frage ist nun wo muss ich anpacken um das zu ändern?
ProductRepository?
ProductModel?
PriceRepository? (müsste ich dann erst einrichten da ich es nicht als Agregate Root definiert habe)
PriceModel?

Mein erster Gedanke war das ProductRepository da in dem dazugehörigen Objekt ja die Preise gespeichert werden, nur weiß ich nicht, wie ich dem ObjectStorage sagen kann, dass es nur bestimmte Preise holen soll.
Warscheinlich läuft es dann doch auf das PriceRepository aus, nur welche Funktion wird von Extbase aufgerufen wenn das ObjectStorage gefüllt wird? findByProduct()?

Ich hoffe jemand kennt sich aus und kann mir einen Tipp geben, irgendwie hänge ich da total bei zwei Relationen, vor allem da ich eine saubere Programmierung bevorzuge.