我试图根据2个标签过滤产品列表,
class Product < ActiveRecord::Base
has_many :tags
end
class Tag < ActiveRecord::Base {
:id => :integer,
:created_at => :datetime,
:updated_at => :datetime,
:key => :string
}
如何格式化一个查询语句,该查询语句允许我查找一个包含2个标签的产品,一个带有密钥&#39;易碎的&#39;以及一个带有密钥&#39;易腐的&#39;?
答案 0 :(得分:1)
Product.joins(:tags).where("tags.key IN (?)", ['fragile', 'perishable']).group('products.id').having('COUNT(tags.id) = ?', 2)