2012-09-24 60 views
6

我有了一個一對多的關聯(多到許多額外的字段)的實體:如何篩選doctrine2實體中的getter?

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

類具有自動吸了所有作者:getGamePlayers()

我想一個過濾器添加到它,所以它會查詢數據庫,只對相關細節以最有效的方式:

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

什麼是從實體內實現這樣的吸氣劑(不是最好的方法使用存儲庫)?

非常感謝!

+0

吸氣劑是如何產生的?什麼讓你無法將自己的自定義獲得者添加到實體? – Asciiom

+0

它是從cli-php doctrine.php生成的orm:generate-entities。 我可以添加getter,但我不知道要在裏面寫什麼來改變查詢。 – Koby

+1

請發佈完整的實體 –

回答

3

您可以嘗試在使用Doctrine \ Common \ Collections \ Criteria篩選關聯集合的實體上創建單獨的方法。請參閱this link來自細節