0

私は、そのカテゴリに属する​​すべてのカテゴリとグループの本を返すこのメソッドを持っています

def self.user_categories_list
joins(:books).
select('categories.id, categories.name, count(*) AS books_count').
group('categories.id, categories.name').
order('books_count DESC')
end

質問をお許しください。users テーブルに参加して、ユーザーに属するすべての本をカテゴリ別に取得する方法がわかりません。または、ユーザーに属する book_id でそれを行うことができますか?

どんな助けでも大歓迎

ありがとう

4

1 に答える 1

1

where句があればいいと思います:

def self.user_categories_list(user)
  joins(:books).
  where('books.user_id = ?', user.try(:id) || user).
  select('categories.id, categories.name, count(*) AS books_count').
  group('categories.id, categories.name').
  order('books_count DESC')
end

注:user_idこのコードは、Book モデルのテーブルに属性があることを前提としています。

于 2013-01-12T06:11:04.577 に答える