如何查找属于多个模型对象的模型对象

时间:2011-12-15 22:10:10

标签: ruby-on-rails ruby-on-rails-3

假设我有模型Book和Reading,它具有Book has_many:readings的关系。

现在假设我想找到过去一周读过的所有书籍。我知道我可以找到过去一周创建的读数,例如: readings = Reading.find(:all,:conditions => [“created_at>?”,Date.today - 7])

但是,我不确定如何从读取列表中获取重复数据删除的书籍列表。我知道我不能简单地做readings.books,因为读数是一个数组而Array#books没有定义。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

Book.joins(:readings).group(:book_id).having("COUNT(*) > 1")