如何在doctrine2实体中过滤getter?

时间:2012-09-24 15:22:12

标签: php filter doctrine doctrine-orm getter

我有一个具有一对多关联的实体(多对多与额外字段):

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

该课程为所有作者提供了自动getter:getGamePlayers()

我想为它添加一个过滤器,因此它只会以最有效的方式查询数据库中的相关详细信息:

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

从实体内部(不使用存储库)实现此类getter的最佳方法是什么?

非常感谢!

1 个答案:

答案 0 :(得分:5)

您可以尝试在实体上创建一个单独的方法,该方法使用Doctrine\Common\Collections\Criteria来过滤关联的集合。有关详细信息,请参阅this link