【发布时间】:2016-02-05 21:57:27
【问题描述】:
我有三个表,Show、Episode 和 Character。每个节目都有_许多剧集和角色。
class Show < ActiveRecord::Base
has_many :episodes
has_many :characters
class Episode < ActiveRecord::Base
belongs_to :show
class Character < ActiveRecord::Base
belongs_to :show
我有一个角色列表。我想做的是在他们的节目第二集播出的日期之前订购它们。 Episode 有一个唯一命名的属性,称为 :air_date
所以我必须做一个两级连接表,比如:
@characters = Character.joins(:show)
.joins(:episodes)
.where(episodes: {number: 2})
.order(:air_date)
但是 ActiveRecord 认为我正在寻找与 Characters 相关的 Episodes,当然这种关联并不存在。
如何返回与角色列表相关联的剧集相关联的剧集?或者这甚至可能吗?
【问题讨论】:
标签: ruby-on-rails ruby join activerecord