class Channel < ActiveRecord::Base
has_many :programs
end
class Program < ActiveRecord::Base
belongs_to :channel
has_many :program_schedules
end
class ProgramSchedule < ActiveRecord::Base
belongs_to :program
end
次のようなデータの配列を取得したいと思います。
チャネル1:
プログラム1
- スケジュール1
プログラム2
- スケジュール1
- スケジュール2
- スケジュール3
チャネル2:
- プログラム1
- スケジュール1
- スケジュール2
- スケジュール3
- プログラム1
このクエリを試しましたが、「チャネル」行のみを取得します(プログラムとスケジュールは含まれません)
@data = Channel.joins(:programs => :program_schedules).group("channel_id")