私にはレストランと料理の2つのエンティティがあり、レストランは、おかしなことに、料理という名前の料理と多対多の関係にあります。
つまり、2つのレストラン(rest1、rest2)と2つの料理(インド料理、中華料理)があり、両方のレストランにインド料理しかない場合
rest1 indian
rest2 indian
クエリビルダーを介してDQLクエリを実行します。このクエリは、料理のリストと、料理が割り当てられているレストランの数を返します。だから、理論的にはこのようなものです。
$qb->select('rc AS cuisine, COUNT(r) AS restaurantCount')
->from('Restaurant', 'r')
->join('r.cuisines', 'rc')
->addGroupBy('rc');
だから、結果として、私は
cuisine: indian restaurantCount: 2
メインエンティティを返す必要があるため、これによりエラーが発生することはわかっています。
多対多の逆を作成して使用することでこれが可能であることも知っていますが、双方向の関係の複雑さを避けるために、料理にレストランのプロパティを与えることは避けようとしています。
レストランをメインの選択テーブルとして使用することで、望ましい結果を得ることができますか?