我有如下保持與各school_user相關school_user_id和作業值的表:ROR:幫助簡單相加的SQL查詢
create_table "homework_students", force: :cascade do |t|
t.integer "school_user_id", limit: 4, null: false
t.integer "homework_id", limit: 4, null: false
t.datetime "completed_on"
t.datetime "created_at", null: false
t.datetime "updated_at",
每個school_user與個別功課關聯和功課有很多school_users。
我想在我的視圖中打印連接到單獨作業的總school_users。
在我的控制器:
@total = HomeworkStudent.where("SELECT homework_id FROM homework_students WHERE 'school_user_id = (?)'").sum(:school_user_id)
模型
homework
has_many :homework_students, :class_name => 'HomeworkStudent'
homework_students
belongs_to :homework, :class_name => 'Homework', :foreign_key => :homework_id
我不認爲這是正確的,我的語法 - 它讓打印0
任何想法,也更好的方法有人可能會這樣做?
編輯
明白了這一點。
@total = HomeworkStudent.find_by_sql("SELECT homework_id FROM homework_students WHERE school_user_id GROUP BY homework_id").count
還想知道是否更好的方法。
總和? ..或計數? –
@DavidAldridge嗨!對不起,伯爵。我改變了它,但仍然返回0.我認爲我有我的語法前面的東西... – Co2