我有一个具有一对多关联的实体(多对多与额外字段):
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的最佳方法是什么?
非常感谢!
答案 0 :(得分:5)
您可以尝试在实体上创建一个单独的方法,该方法使用Doctrine\Common\Collections\Criteria
来过滤关联的集合。有关详细信息,请参阅this link。