0

ダッシュボードである 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

2 つのテーブルは feedbacks と feedback_categories です。どんな指針も役に立ちます。

4

3 に答える 3

1

結合を使用できます:

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

join および where 句の feedback_category は、関係に応じて複数形になる可能性があることに注意してください。常に複数形になる内部では、結合では単数形になる可能性があります。

于 2012-09-18T07:00:50.627 に答える
0

Feedback というモデルがあると仮定して、それを使用します。

Feedback.count :conditions => "feedback_categories.category_id = 1",
               :joins => "INNER JOIN feedback_categories ON feedbacks.id=feedback_categories.feedback_id"
于 2012-09-18T07:36:11.837 に答える
0

http://guides.rubyonrails.org/active_record_querying.html

これは役立ちます.. :)

于 2012-09-18T06:58:24.763 に答える