这是我的课程:
class Product < ActiveRecord::Base
has_and_belongs_to_many :categories
end
class Category < ActiveRecord::Base
has_and_belongs_to_many :products
end
类别有一个 visible
布尔值。
我需要在 Product
中创建一个作用域,以便我可以获取所有类别都可见的产品(即:如果一个产品有10个类别,即使其中一个类别的 visible
设置为false,该作用域也应将该产品丢弃)。
ActiveRecord调用和MySQL查询均可接受。
编辑:我们有数十万个产品,我们需要将这些操作委托给数据库,因为我们将对这些产品数组进行分页、排序等操作。
categories
没有category_id
列;其次,如果有一个id为2的产品和一个visible设置为false且id为2的类别,即使产品与类别无关,它也会被排除在外。 - amencarini