此查询使我能够获得所有给予球队ID的球员以及当他的身体状态等于2时。
$qb = $this->createQueryBuilder('player')
->where('player.physicalState= 2')
->join('player.team', 'team')
->addSelect('team')
->where('team.id = :id')
->setParameter('id', $teamId);
return $qb->getQuery()->execute()
但事实是:我还有另一个表OLD_TEAM。玩家与TEAM和OLD_TEAM有一对多的关系。因此,玩家可以链接到TEAM或OLD_TEAM。
所以我想改进/完成我的查询以获得类似
的内容在TEAM表中搜索ID为x的团队中的玩家。如果这不存在,我想在OLD_TEAM表中搜索相同的内容。
我不知道这个解决方案是否是搜索的最佳解决方案,如果存在更简单的解决方案,请随时通知我。
PS:OLD_TEAM和TEAM对PK使用相同的序列。
感谢。
答案 0 :(得分:0)
感兴趣,我跟着。
然后,我认为在这种情况下,您可以使用简单的OR。
答案 1 :(得分:0)
不确定是否可以使用querybuilder,但使用纯SQL。您可以使用的一个示例Checking whether an item does not exist in another table。