型號:美孚,酒吧,邦克如何根據has_many的屬性找到一個rails對象:通過關係?
class Foo < ActiveRecord::Base
has_many :bars
has_many :bonks, :through => :bars
end
class Bar < ActiveRecord::Base
has_many :bonks
end
我怎麼能檢索與一個邦克,其名稱是「真棒」
我知道如何與做相關富對象的列表Foo.find(...)涉及到:join和a:條件。我想要做的就是避免將那麼多原始的sql放到那裏(特別是當中間有多個模型時)。
喜歡的東西
Foo.find(:all, :conditions=>["bonks.name = ?", 'awesome'])
其中,顯然,沒有工作,因爲它會產生
Select * from foos where bonks.name = 'awesome'
可悲的是,我在處理一個軌道1.2的應用程序在這裏,但我不知道認爲此功能從那以後發生了變化。
線的東西它生成的'選擇.... FROM FOOS LEFT OUTER JOIN杆ON(FOO。 「ID」=巴。 「foo_id」)LEFT OUTER JOIN bonks在哪裏(bonks.name =「真棒」)' – masukomi 2011-06-13 21:04:09
是啊,我缺兵少將所有加入的,而不是做類似,外表面做的Rails(bonks「bar_id」 =酒吧「ID」。) - 布特很抱歉,很高興它工作了您。 – Yardboy 2011-06-13 21:12:43