gpt4 book ai didi

php - 使用 Doctrine 和 Symfony2 createQueryBuilder leftJoin

转载 作者:行者123 更新时间:2023-11-30 00:36:45 25 4
gpt4 key购买 nike

该代码不起作用。有谁能够帮助我?代码是:

class ResultRepository extends EntityRepository
{
public function findAllByUserResultVote($id_vote)
{
$query = $this->createQueryBuilder('r')
//associating tables...
->leftJoin('r.user' , 'u')
->leftJoin('r.answer' , 'a')
->leftJoin('r.vote' , 'v')

//Where idVote (Table result) == id (Table vote)
->where('r.idVote = :idVote')
->setParameter('idVote', $id_vote)
->getQuery();
return $query->getResult();
}
}

我有一个实体用户、答案、投票、结果。

我有 4 张 table :用户:id(主要)、姓名、...
投票:id(主要)、问题、...
答案:id(主要)、idVote、答案...
结果:id(主),idUser(id表用户),idVote(id表投票),idAnswer(id表答案),...

-----编辑----
感谢您的回答,但这不是我所做的。
结果也是一张表。这仅包含 id,我需要返回,例如:
代替:1、6、5、3
此: 1、u.name、v.question、a.answer

最佳答案

public function findAllByUserResultVote($idVote)
{
$queryBuilder = $this->createQueryBuilder('r')

// From your question, it looks like you only want ids
->select('r.id, u.name, v.question, a.answer')

// join with Vote Entity
->leftJoin('r.vote' , 'v')
// join with User Entity
->leftJoin('r.user' , 'u')
// join with Answer Entity
->leftJoin('r.answer' , 'a')

// where id is same as $idVote
->andWhere('v.id = :id_vote')
->setParameter('id_vote', $idVote);

return $queryBuilder
->getQuery()
->getResult();
}

关于php - 使用 Doctrine 和 Symfony2 createQueryBuilder leftJoin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22108725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com