2012-09-24 3 views
6

Ich habe eine Einheit, die eine Eins-zu-viele Assoziations (many-to-many mit zusätzlichen Feldern) hat:Wie man einen Getter in docpine2 Entity filtert?

class Game { 
    /** 
    /* @OneToMany(targetEntity="GamePlayer", mappedBy="game", cascade={"persist"}) 
    /* @JoinColumn(name="id", referencedColumnName="game_id", onDelete="cascade") 
    */ 
    private $gamePlayer; 
} 

Die Klasse hat automatisierte Getter für alle Autoren: getGamePlayers()

ich möchte einen Filter, um es hinzuzufügen, so wäre es die Datenbank nur für die relevanten Details auf die effizienteste Art und Weise abfragen:

public function getGamePlayersWithScoreHigherThan($score){ 
    //what to write here? (return array) 
} 

Was ist der beste Weg, eine solche Getter zu erreichen von innerhalb des Unternehmens (nicht das Repository verwenden)?

Vielen Dank!

+0

Wie wird der Getter erzeugt? Was hält Sie davon ab, der Entität einen eigenen benutzerdefinierten Getter hinzuzufügen? – Asciiom

+0

wird aus clif- ph.doc.php generiert. Orm: generate-entities. Ich kann den Getter hinzufügen, aber ich habe keine Ahnung, was ich schreiben soll, um die Abfrage zu ändern. – Koby

+1

Bitte geben Sie die vollständige Entität an –

Antwort

3

Sie könnten versuchen, eine separate Methode für Ihre Entität zu erstellen, die Doctrine \ Common \ Collections \ Criteria verwendet, um die verknüpfte Auflistung zu filtern. Siehe this link von Details

Verwandte Themen