0
doctrine query builder로 다음을 작성하려면 어떻게해야합니까?참여시 Doctrine 쿼리 작성기 오류가 발생했습니다.
$qb = $this->createQueryBuilder('g') //gift
->from('\BBB\GiftBundle\Entity\Registry', 'reg')
->select('g.id , g.title, g.description, g.price, g.imageMedium')
->addSelect('SUM(p.amount) as totalContribute')
->leftJoin('\BBB\GiftBundle\Entity\Purchase', 'p', 'ON','reg.id = p.registry')
->where('reg.gift = g.id')
->AndWhere('reg.couple = :coupleID')
->orderBy('reg.id','DESC')
->groupBy('reg.couple')
->groupBy('reg.gift')
->setParameter('coupleID', $coupleID);
를하지만 나에게 다음과 같은 오류를 제공합니다 :
SELECT
registry.id ,
registry.couple_id,
registry.gift_id,
Sum(purchase.amount) as totalContribution,
gift.title,
gift.price
FROM
gift,
registry
LEFT JOIN
purchase ON purchase.registry_id = registry.id
WHERE
registry.gift_id = gift.id
AND registry.couple_id = 1
GROUP BY
registry.couple_id,
registry.gift_id
나는 시도
[Semantical Error] line 0, col 178 near 'p ON reg.id =': Error: Identification Variable BBB\GiftBundle\Entity\Purchase used in join path expression but was not defined before.
감사하지만 난 단지 ManyToOne 관계를 가지고 1 레지스트리는 많은 구매가 있습니다. 이 상황을 위해 어떻게 써야합니까? –
양방향 관계를 원하지 않으면 [기본 SQL 쿼리] (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/)를 작성해야합니다. reference/native-sql.html)을 참조하십시오. – Alex