I am struggling with an ActiveRecord query in Rails 3.1.1.
I have 2 models, Product and Category, with a has_and_belongs_to_many from Product to Category (a Product
You can do this with a having clause:
@ids = [1,5,8] query = Product.select('products.id,products.name').joins(:categories) \ .where(:categories => {:id => @ids}) \ .group('products.id, products.name') \ .having("count(category_products.category_id) = #{@ids.length}")