【问题标题】:how to filter a getter in doctrine2 entity?如何过滤学说2实体中的吸气剂?
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 2021-08-31
    • 2023-02-02
    • 2018-11-16
    • 2018-04-05
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    相关资源
    最近更新 更多