我怎样才能从每个类别中获得10个产品?

时间:2015-01-01 15:08:58

标签: ruby-on-rails postgresql ruby-on-rails-4 activerecord

产品有一个或多个类别。 Categories被定义为具有许多模型。

例如:

  • 全脂牛奶可以属于Dairy过道
  • 有机全脂牛奶可属于Organic过道
  • 豆浆可以属于DairyOrganic过道

如何按类别分组10个产品?

所以考虑到上面提到的两个类别。我想要来自Dairy过道的10种产品和来自Organic过道的10种产品。

我的模型定义:

# Columns: id, name, description, etc
class Product < ActiveRecord::Base
  has_many :categories, dependent: :destroy
  has_many :aisles, through: :categories, dependent: :destroy
end

# Columns: id, product_id, aisle_id
class Category < ActiveRecord::Base
  belongs_to :product
  belongs_to :aisle
end

# Columns: id, name, description, etc
class Aisle < ActiveRecord::Base
  has_many :categories, dependent: :destroy
  has_many :products, through: :categories, dependent: :destroy
end

1 个答案:

答案 0 :(得分:1)

Aisle.all.map { |a| a.products.limit(10).order('rand()') }