假设我有两个模型帖子和类别。
帖子has_many类别
现在,我想根据类别搜索帖子吗?
例:
帖子 1 有类别 2,5,6
帖子 2 有类别 5,9
帖子 3 有类别 2,4,8
现在 在搜索中 用户 选择类别 2,4,8
在"结果"页中 像这样显示
帖子 3
帖子 1
任何想法 ?
你可以试试:
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)