クエリ ビルダーを使用してテーブル間の内部結合を作成するのに苦労しています。次の関係を持つ 3 つのテーブルがあります。
航空機クラス 1:m 航空機タイプ m:1 ブランド
航空機のクラスを指定して、ブランドのリストを取得できるクエリを作成しようとしています。次の SQL クエリは正しく機能します。
SELECT * FROM brands
INNER JOIN aircraft_types ON brands.id = aircraft_types.brand_id
INNER JOIN aircraft_classes ON aircraft_types.aircraft_class_id = aircraft_classes.id
WHERE aircraftClassID = $class
私は現在持っています:
$brands = DB::table('brands')
->join('aircraft_types', 'brands.id', '=', 'aircraft_types.brand_id')
->join('aircraft_classes', 'aircraft_types.aircraft_class_id', '=', 'aircraft_classes.id')
->where('aircraft_classes.id', '=', $class)
->get(array('brands.id', 'brands.brand_name'));
ただし、これは同じブランドの複数のインスタンスを返します。ブランドが一度だけ返されるように、テーブル間の内部結合を作成するのに苦労しています。
どこが間違っていますか?