请教rails多表联合查询问题

有三个表 users(用户表)字段: id,name courses(课程表)字段: id, user_id(添加课程用户的id), name courselogs (课程记录表)字段: id, course_id, user_id, time(学习时间)

 

当用户学习一个课程时,向courselogs插入一条数据

 

关系是

class user < ActiveRecord::Base
   has_many :courses
   has_many :courselogs
end
class Course < ActiveRecord::Base
   belongs_to :user
   has_many :courselogs
end
class Courselog < ActiveRecord::Base
   belongs_to :user
   belongs_to :course
end

 想要查询指定用户创建的所有课程(Course),并显示学习时间

有什么简便的方法?



问题补充:
难道只有用find_by_sql吗?
有其他比较神奇的方法没?

condition里面可以添加类似users.id = id这样的条件

但是建议直接find_by_sql查询吧

@courses = @user.courses