基本上我有3张桌子。忽略语法。我只是想展示这个想法。
ModelA:
belongs_to :ModelB
ModelB:
has_many: ModelA
has_and_belongs_to_many :ModelC
ModelC
has_and_belongs_to_many :ModelB
如何从 ModelA 中获取 ModelC 的所有行都有标志 = 'Y' 的所有行?
我试过了:
ModelA.joins(:ModelB => :ModelC).where("#{ModelC.table_name}.flag = 'Y'")
和其他十几种方法都没有成功。我知道上面的代码不会检查所有行,但就我所知。我更喜欢使用 ActiveRecord。