2016-07-01 4 views
1

Ich bin derzeit in einer Situation, in der ich eine Repository Klasse erstellen muss, die mehrere finanzielle statistische Abfragen enthalten würde. Die Abfragen sind nicht genau mit einem Entity, sondern mit mehreren Entities verknüpft und wählen bestimmte Daten aus der Datenbank basierend auf verschiedenen Bedingungen aus.Erstellen Sie eine Doktrin-Repository-Klasse ohne eine Entität

auch sagen, dass ich nach einer Möglichkeit, eine Repository Klasse (das heißt StatisticsRepository), die mit einem Entity ist überhaupt nicht verbunden zu schaffen, so konnte ich die Anfragen dort speichern. Einfach dieses Repository zu erstellen scheint nicht zu funktionieren. Ich schätze, dass ich wahrscheinlich einen Service irgendeiner Art erstellen muss, der diese Repo-Klasse lädt? Ist das korrekt, und wenn ja, gibt es ein Beispiel, das ich in den Dokumenten von Symfony/Doctrine vermisse?

+1

Sie können einfach eine Klasse erstellen, in die der Entitätsmanager injiziert wurde, eine Methode erstellen, die Ihre Abfrage ausführt, und das ist alles. –

+0

Das ist, was ich dachte, es sollte so sein, aber wollte noch einmal überprüfen. Bitte posten Sie es als Antwort, damit ich es akzeptieren kann. :) – tftd

Antwort

2

Sie können einfach eine Klasse wie StatisticsService/StatisticsFinder erstellen (Namenskonvention ist für Sie).

Dieser Dienst sollte einen Entity Manager injiziert haben, also definieren Sie ihn in Ihrer Konfiguration. Erstellen Sie in diesem Service einen Abfrage-Generator, und holen Sie sich Ergebnisse zurück.