0
我正在嘗試使用Rails 3 activerecord約定來編寫此查詢。如何使用Rails 3 activerecord編寫這個sql查詢?
SELECT s.name, s.id FROM tripoli_schools_development.campus_programs cp
JOIN tripoli_schools_development.career_categories cc ON cp.career_category_id = cc.id
JOIN tripoli_schools_development.campuses c ON c.id = cp.campus_id
JOIN tripoli_schools_development.schools s ON s.id = c.school_id
WHERE cp.enabled = true and c.enabled = true and s.enabled = true and cc.id = 2
group by s.id order by s.name
這裏是我的模型:
class CampusProgram < TripoliSchool
belongs_to :career_category
belongs_to :campus
end
class CareerCategory < TripoliSchool
has_many :career_programs
has_many :campus_programs
end
class Campus < TripoliSchool
self.table_name = 'campuses'
belongs_to :school
has_many :campus_programs
end
class School < ActiveRecord::Base
has_many :campuses, :class_name => "Campus"
has_many :campus_programs, :through => :campuses
end
和所有重要的
class TripoliSchool < ActiveRecord::Base
self.abstract_class = true
establish_connection "tripoli_schools_#{Rails.env}"
end
我得到一個語法錯誤與此有關。 ::校園=> {:schools}])。其中(「campus_programs。 :校園=> {:學校}似乎是錯誤所在。 – 2012-07-27 17:06:50
你可以試試這個:joins(:career_categories).joins(: => {:schools}) – Dougui 2012-07-27 17:15:27
':校園=> {:學校}'不正確,它應該是':校園=>:學校' – 2012-07-27 17:18:00