Sql 通过与RubyonRails的关联进行查询

Sql 通过与RubyonRails的关联进行查询,sql,ruby-on-rails,ruby,activerecord,associations,Sql,Ruby On Rails,Ruby,Activerecord,Associations,我有一个关于使用RubyonRails通过几个关联进行查询的问题 这个问题涉及跨三个模型进行查询。(事件、战斗、战士)。模型的重要部分如下: 一个事件有多个战斗 每一场战斗有两名战士:第一名战士和第二名战士 我需要编写的是一个函数,用于检索具有给定战斗机的所有战斗的列表。然而,这需要通过事件模型来完成,因为我们正在运行一些奇怪的本地化操作 有没有一种简单的方法可以做到这一点 class Event has_many :fights end class Fight has_many

我有一个关于使用RubyonRails通过几个关联进行查询的问题

这个问题涉及跨三个模型进行查询。(事件、战斗、战士)。模型的重要部分如下:

  • 一个事件有多个战斗
  • 每一场战斗有两名战士:第一名战士和第二名战士
我需要编写的是一个函数,用于检索具有给定战斗机的所有战斗的列表。然而,这需要通过事件模型来完成,因为我们正在运行一些奇怪的本地化操作

有没有一种简单的方法可以做到这一点

class Event
  has_many :fights
end

class Fight
  has_many :fighters
end
然后你可以做:

events = Event.joins(:fights => :fighters).where("fighters.name = 'sally'")
fights = events.inject([]){|a,e| a = a + e.fights; a }
假定

class Event
  has_many :fights
end

class Fight
  has_many :fighters
end
然后你可以做:

events = Event.joins(:fights => :fighters).where("fighters.name = 'sally'")
fights = events.inject([]){|a,e| a = a + e.fights; a }

请提供你的事件、战斗和拳击手类别你所说的“奇怪的本地化事物”是什么意思?请提供你的事件、战斗和拳击手类别你所说的“奇怪的本地化事物”是什么意思?