此代码不起作用。有谁能够帮助我?代码是:createQueryBuilder leftJoin使用Doctrine DQL和Symfony2
class ResultRepository extends EntityRepository
{
public function findAllByUserResultVote($id_vote)
{
$query = $this->createQueryBuilder('r')
->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个表:
用户:ID(主),名,...
投票:ID(主),问题。 ...
答案:编号(小学),idVote,answer ...
结果: * ID *(主),ID用户(ID < - 表用户),idVote(ID < -table票),idAnswer(ID < -table答案),...
结果只包含了ID,但是我需要返回例如:
相反的: 1,6,5,3
此: 1,u.name,v.question,aansans
addSelect会帮助你。花一些时间阅读文档:http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html。 DQL与SQL不同,你会浪费很多时间,直到你理解这些差异。 – Cerad