我有一个实体League
和Season
,而季节与联盟有@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相应的字段