2013-03-01 23 views
3

我有3個表:Rails的範圍 - 如何加入3個表

schools{id, name, desc, adress} 
reviews{id, content, rating, school_id, user_id} # user_id & schoold_id is foregin keys 
users{id, name, city} 

我怎樣寫一個軌道範圍內加入所有3個表,並搶列 的schools.namereviews.contentreviews.ratingusers.name

我使用軌道3.2

+0

如果您已正確定義您的關聯(has_many,belongs_to),您應該可以閱讀評論並說出review.school.name,review.user.name。 – dmoss18 2013-03-01 21:56:14

+0

是的,我知道,但這不是我正在尋找的。 – SHUMAcupcake 2013-03-01 22:05:55

+0

Review.joins(:學校,:用戶).select(「content,rating,name」)。全部 返回帶有這些屬性的對象的數組。 還不確定如何處理具有相同attribute_name(name) – dmoss18 2013-03-01 22:16:49

回答

0
scope :mashup, joins(:school, :user).select("content, rating, schools.name as sname, users.name as uname") 

您可以瞭解更多here

+0

酷的學校和用戶,我如何使用範圍來做到這一點? – SHUMAcupcake 2013-03-01 22:29:01

+0

更新了我的答案。原來你最後並不需要.all – dmoss18 2013-03-05 03:14:46