как найти объекты модели, которые принадлежат более чем одному объекту модели - PullRequest
0 голосов
/ 16 декабря 2011

Предположим, у меня есть модели Book and Reading, которые имеют отношение Book has_many: readings.

Теперь предположим, что я хочу найти все книги, которые были прочитаны за последнюю неделю.Я знаю, что могу найти показания, созданные на прошлой неделе, с чем-то вроде: readings = Reading.find (: all,: условие => ["creation_at>?", Date.today - 7])

Однако,Я не уверен, как попасть из этого списка чтений в недублированный список книг.Я знаю, что не могу просто делать readings.books, потому что readings - это массив, а Array # books не определен.

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 16 декабря 2011
Book.joins(:readings).group(:book_id).having("COUNT(*) > 1")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...