0
鑑於我的三個車型在這裏:導軌 - 適用範圍和fin_by_sql問題
class Classroom < ActiveRecord::Base
has_many :students
has_many :slideshows
has_many :grades
class Slideshow < ActiveRecord::Base
belongs_to :classroom
has_many :grades
class Grade < ActiveRecord::Base
belongs_to :slideshow
belongs_to :classroom
我創建了一個scope
,使我需要在classroom model
查詢:
scope :result, lambda {
joins(:slideshows, :grades).
where("classrooms.id = slideshows.classroom_id AND slideshows.id = grades.slideshows_id ").
select("classroom.name, SUM (grades.english), SUM(grades.biology) ").
group("classroom.name ").
order("SUM(grades.english+grades.biology) DESC ")
}
的問題是,在我的控制器我無法設法得到這個工作。我已經嘗試了兩件事:
@variable = Classroom.result
@variable = Classroom.find_by_sql(:result)
第一個選項看起來像查詢工作,但我無法檢索結果。第二個選項關閉了我的服務器。任何理想我該如何實現這一目標?
在此先感謝。
你好。感謝你的回答。我無法將此查詢從控制器中取出並放入模型中?不能使用scop或其他類似的東西? –