2012-09-24 28 views
6

Tengo una entidad que tiene una asociación uno-a-muchos (muchos-a-muchos con campos adicionales):cómo filtrar un getter en la entidad doctrine2?

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

La clase ha automatizado para todos los autores: getGamePlayers()

me gustaría añadir un filtro a la misma, por lo que sería consultar la base de datos sólo para los detalles relevantes de la manera más eficiente:

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

¿Cuál es la mejor manera de lograr un captador tal desde el interior de la entidad (no usando el repositorio)?

¡Muchas gracias!

+0

¿Cómo se genera el getter? ¿Qué le impide agregar su propio getter personalizado a la entidad? – Asciiom

+0

se genera desde clifp doctrine.php orm: generate-entities. puedo agregar el captador pero no tengo idea de qué escribir dentro para poder cambiar la consulta. – Koby

+1

Por favor, publique la entidad completa –

Respuesta

3

Puede intentar crear un método separado en su entidad que use Doctrine \ Common \ Collections \ Criteria para filtrar la colección asociada. Ver this link para detalles

Cuestiones relacionadas