これは図書館システムで、ここで本を借りることができます。そして、各本はカテゴリーに属しています。一番借りた本の種類に応じて、いくつかの提案をしたいと思います。
4つのモデルがあります:
class Person < AR
has_many :borrows
end
class Borrow < AR
belongs_to :person
belongs_to :book
end
class Category < AR
has_many :books
end
class Book < AR
has_many :borrows
belongs_to :category
end
そして私は本を見つけるためにSQLを書きました
SELECT * FROM books WHERE category_id =
(SELECT category_id FROM books WHERE id IN
(SELECT book_id FROM borrows WHERE person_id =10000)
GROUP BY category_id ORDER BY count(*) DESC LIMIT 1)
AND id NOT IN
(SELECT book_id FROM borrows WHERE person_id =10000)
これは機能しているようですが、どうすればRailsの方法でファインダーを作成できるのでしょうか...