次のエンティティがあります。
class Restaurant
{
// ...
}
class Order
{
/**
* The Restaurant this order belongs to.
*
* @var Restaurant
*/
protected $restaurant;
/**
* The status of this order: 'pending', 'accepted' or 'rejected'.
*
* @var string
*/
protected $status;
// ...
}
レストランは、0 個以上の注文を持つことができます。
すべてのレストランに、注文の総数と、各ステータスの注文の数を照会したいと思います。
次のクエリを思いつきました。
SELECT r, COUNT(o.id) AS totalOrders
FROM Restaurant r
LEFT JOIN Order o WITH o.restaurant = r
GROUP BY r.id
pendingOrders
、acceptedOrders
およびのカウントを取得するにはどうすればよいrejectedOrders
ですか?