Symfony2自定义存储库方法



我有一个实体LeagueSeason,而季节与联盟有@ManyToOne关系。

现在,在我的联盟控制器的showAction中,我想用属于当前($ id)联赛的所有季节来对象。

因此,我在LeagueRepository中实现了findAllBelongingSeasons功能,看起来如下:

public function findAllBelongingSeasons($league_id)
{
    return $this->getEntityManager()
        ->createQuery('
            SELECT s FROM xxx:Season s
            WHERE s.league_id = :league_id'
        )
        ->setParameter('league_id', $league_id)
        ->getResult();
}

事实是,我现在收到了一个信息,即班级赛季没有野战联赛。Shure,在季节桌上的数据库中存在。但是学说现在想通过对象内部处理它,并且季节没有league_id,因为它具有配置@ORMManyToOne(targetEntity="xxxxxxEntityLeague")的属性$league

那么应该如何完成?

感谢您的帮助:)

public function findAllBelongingSeasons($league_id)
{
    return $this->getEntityManager()
        ->createQuery('
            SELECT s FROM xxx:Season s
            WHERE s.league = :league_id'
        )
        ->setParameter('league_id', $league_id)
        ->getResult();
}

是正确的方法(league中的修改league_id

基本上,正如您所说,学说处理的对象像"代理"来访问DB表和列。这样,您必须转介到Doctirne(对象)映射,而不是DB相应的字段

相关内容

  • 没有找到相关文章

最新更新