実際の質問ではなく、これは自分自身のためのメモです。他にも多くの同様の質問があります:1、2、3、4、5、6などですが、この解決策を提供していないようです。Doctrine 2:少なくとも1つのルートエンティティエイリアスを選択せずにID変数でエンティティを選択することはできません
私は次のエンティティがあります
class Order
{
// ...
/**
* @ManyToOne(targetEntity="Customer")
* @var Customer
*/
private $customer;
/**
* @Column(type="integer")
* @var int
*/
private $amount;
}
class Customer
{
// ...
}
Order
はCustomer
と単方向、多対1の関係を持っています。私は彼の注文の合計金額と一緒に、すべての顧客を取得したいので、私は、次の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.
を?