我正在开发一个RoR Webapp,它是一个仪表板。为此,我需要在执行结果的COUNT之前执行2个表的INNER JOIN
如何使用Active Record在Ruby语法中编写此内容
SELECT COUNT(*) FROM feedbacks
INNER JOIN feedback_categories ON feedbacks.id=feedback_categories.feedback_id
WHERE feedback_categories.category_id=1
这两个表是反馈和feedback_categories。任何指针都会有所帮助。
答案 0 :(得分:1)
您可以使用联接:
Feedback.joins(:feedback_category).where(:feedback_categories => {:category_id => 1}).count
请注意,根据您的关系,join和where子句中的feedback_category可能会有不同的复数形式。在它总是多元化的地方,在连接中它可以是单数。
答案 1 :(得分:0)
答案 2 :(得分:0)
假设您有一个名为Feedback的模型,请使用:
Feedback.count :conditions => "feedback_categories.category_id = 1",
:joins => "INNER JOIN feedback_categories ON feedbacks.id=feedback_categories.feedback_id"