2012-09-24 11 views
6

Ho un ente che ha un'associazione uno-a-molti (molti-a-molti con campi aggiuntivi):come filtrare un getter nell'entità doctrine2?

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

La classe ha automatizzato per tutti gli autori: getGamePlayers()

Vorrei aggiungere un filtro ad esso, quindi sarebbe interrogare il database solo per i dettagli rilevanti nel modo più efficiente:

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

Qual è il modo migliore per raggiungere un tale getter all'interno dell'ente (non usando il repository)?

Grazie mille!

+0

Come viene generato il getter? Cosa ti impedisce di aggiungere il tuo getter personalizzato all'entità? – Asciiom

+0

è generato da cli- php doctrine.php orm: generate-entità. Posso aggiungere il getter ma non ho idea di cosa scrivere dentro per cambiare la query. – Koby

+1

Si prega di inviare l'entità completa –

risposta

3

Si potrebbe provare a creare un metodo separato sulla propria entità che utilizza Doctrine \ Common \ Collections \ Criteria per filtrare la raccolta associata. Vedi this link per dettagli