我有这个方法,它返回属于该类别的所有类别和组
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
请原谅我的问题,但我不确定如何加入用户表以按类别获得属于用户的所有书籍,或者我可以通过属于用户的book_id来做吗?
感谢您的帮助
谢谢
我认为你应该有一个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
注意:这段代码假设您的Book模型的表中有user_id
属性。