2012-09-18 39 views
0

我正在使用一個RoR Web應用程序,它是一個儀表板。爲此,我需要進行使用的Active RecordRuby Snytax實現此SQL查詢

SELECT COUNT(*) FROM feedbacks 
    INNER JOIN feedback_categories ON feedbacks.id=feedback_categories.feedback_id 
    WHERE feedback_categories.category_id=1 

這兩個表是反饋和feedback_categories。結果的COUNT

如何我寫這篇文章的Ruby語法之前執行INNER JOIN 2個表?任何指針都會有幫助。

回答

1

您可以使用聯接:

Feedback.joins(:feedback_category).where(:feedback_categories => {:category_id => 1}).count 

注意,在連接和在where子句可以根據您的不同關係的多元狀態feedback_category。在內部它總是會被複數化,在連接中它可能是單數。

0

假設你有一個模型叫做反饋,只需使用:

Feedback.count :conditions => "feedback_categories.category_id = 1", 
       :joins => "INNER JOIN feedback_categories ON feedbacks.id=feedback_categories.feedback_id"