kukuwuwu
kukuwuwu
2009-06-05 13:56
浏览 278
已采纳

请教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吗?
有其他比较神奇的方法没?
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • u010893021
    neocanable 2009-06-05 19:30
    已采纳

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

    但是建议直接find_by_sql查询吧

    点赞 评论
  • xuchao_o
    xuchao_o 2009-06-06 22:52

    @courses = @user.courses

    点赞 评论

相关推荐