실제 질문이 아니라 다른 사용자에게 도움이 될 수있는 스티커 메모입니다. 비슷한 다른 많은 질문이 있습니다. 1, 2, 3, 4, 5, 6 등이 있지만 이러한 해결책을 제시하지는 못합니다.Doctrine 2 : 하나 이상의 루트 엔티티 별칭을 선택하지 않고 식별 변수를 통해 엔티티를 선택할 수 없습니다.
나는 다음과 같은 요소를 가지고 :
class Order
{
// ...
/**
* @ManyToOne(targetEntity="Customer")
* @var Customer
*/
private $customer;
/**
* @Column(type="integer")
* @var int
*/
private $amount;
}
class Customer
{
// ...
}
Order
은 Customer
와 단방향, 다 대일 관계를 가지고있다. 나는 그의 주문의 총량과 함께, 모든 고객을 얻으려면, 그래서 나는 다음과 같은 DQL 쿼리 실행
SELECT c, SUM(o.amount)
FROM Model\Order o
JOIN o.customer c
GROUP BY c
을하지만 다음과 같은 오류 얻을 :
[Doctrine\ORM\Query\QueryException]
[Semantical Error] line 0, col -1 near 'SELECT c, SUM(o.amount)': Error: Cannot select entity through identification variables without choosing at least one root entity alias.
내가 그것을 어떻게 해결할 수를 ?