所以,假设我有两个模型帖子&分类
发布has_many类别
现在,我想根据类别搜索帖子?
示例:
帖子1有类别2,5,6
帖子2有类别5,9
第3篇有2,4,8类
现在在搜索用户选择类别2,4,8
在结果页面中显示如下
发布3
发布1
任何想法?
答案 0 :(得分:0)
您可以尝试:
class Post
def self.with_categories(*category_ids)
joins(:categories).where(categories: {id: category_ids}).select("#{table_name}.*, COUNT(#{Category.table_name}.id AS match_count").group("#{table_name}.id").order(:match_count)
end
end
Post.with_categories(2,4,8)