【发布时间】:2012-09-16 02:09:36
【问题描述】:
我有一个具有一对多关联(带有额外字段的多对多)的实体:
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)
}
从实体内部(不使用存储库)实现这种 getter 的最佳方法是什么?
非常感谢!
【问题讨论】:
-
getter是如何生成的?是什么让您无法将自己的自定义 getter 添加到实体中?
-
它是从 cli-php 学说.php orm:generate-entities 生成的。我可以添加 getter,但我不知道要在里面写什么来更改查询。
-
请发布完整的实体
-
为什么不想使用存储库?这是实现这一目标的推荐方法。
-
Dirk- 它不是一个真实的实体,我只是在模拟我在工作中遇到的类似问题。
标签: php filter doctrine doctrine-orm getter