首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Syfmony2 -存储库中的多到多关系的自定义查询

Syfmony2 -存储库中的多到多关系的自定义查询
EN

Stack Overflow用户
提问于 2013-06-30 17:57:47
回答 1查看 488关注 0票数 0

我有一个manyToMany关系球员教练。每个球员可以有很多教练,每个教练可以有很多球员。

我想要创建一个定制的查询,以恢复所有的球员,是与一个特定的教练,但我真的不知道如何做。

我真的需要在一个存储库中创建一个自定义查询,以恢复所有与特定教练相关的球员。

这是我在OSC\User\Entity\PlayerRepository中存储库函数的画布

代码语言:javascript
复制
public function findPlayersOfCurrentUser($user) { //The user id is the id linked to the player
        return $this->_em->createQuery('


        ');

    }

我所有的多到多关系都正常工作,因此我有一个表(名为user_player),如下所示:

代码语言:javascript
复制
user_id     player_id
   1            1

最后,我的问题是:选择OSCUserBundle:Player中有$user->getId()作为教练的所有球员的SQL查询是什么?

我知道该说些什么。

代码语言:javascript
复制
SELECT all the players from OSCUserBundle:Player WHERE id IN (SELECT all the player_id FROM user_player WHERE user_id = $user->getId()

)但不是通过createQuery或createQueryBuilder.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-01 01:53:25

代码语言:javascript
复制
// PlayerRepository
public function findPlayersOfCurrentUser(User $coach) 
{ 
    return $this->createQueryBuilder("o")
        ->innerJoin("o.coaches", "c", "WITH", "c=:coach")
            ->setParameter("coach", $coach)
        ->getQuery()->getResult() ;

}

假设用户和教练是相关的,使用别名coachesplayers (复数,它们应该是)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17393242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档