eventsテーブル
id, detail, name, prefecture_id, hall_id
prefecturesテーブル
id, area_id, name
hallsテーブル
id, name, address
areasテーブル
id, name
上記のようなデータベースでイベントの一覧情報を出したいと考えています。
単にEvent.left_joins(:prefecture)とするとprefecture.event_id = event.idを条件に結合しようとしてしまいうまくいきません。
event.prefecture_id = prefecture.id
event.hall_id = hall.id
prefecture.area_id = area.id
の条件で結合し、これらすべての結果を得るにはどのように書いたらいいのでしょうか。
よろしくお願いします。
追記
現状途中ですが
Event.joins("LEFT OUTER JOIN prefectures ON event.prefecture_id = prefectures.id")
.joins("LEFT OUTER JOIN event_halls ON event.hall_id = halls.id")
.joins("LEFT OUTER JOIN areas ON prefectures.area_id = areas.id")
.select("event_schedules.*,
prefectures.name AS prefecture_name,
halls.name AS hall_name,
areas.name AS area_name")
みたいな感じでベタ書きしています。
あなたの回答
tips
プレビュー