1

我有一个 Items 表和一个关联的 ItemPrices 表设置与 has_many 关联。ItemPrices 表也有一个 tier_id 字段。

所以结构基本上是

Item                      ItemPrices
---------                 ------------
id                        id
ancestry                  item_id
title                     tier_id
                          price

Items 表的设置与 has_ancestry 一样,并且工作正常。

如何获取 itemprices 处于特定层级的项目层次结构?

4

1 回答 1

1

它必须是这样的:

商品型号:

 has_ancestry
 has_many :item_prices

 def self.tree_with_certain_tier(tier_id)
    scoped.includes(:item_prices).collect{|item| item.item_prices.with_certain_tier(tier_id)}.arrange
 end

商品价格型号:

 belongs_to :item
 scope :with_certain_tier, lambda {|tier_id| where(:tier_id=>tier_id) }

现在你可以抓住你需要的东西

Item.tree_with_certain_tier(pass_certain_tier_id_here)

我没有检查这个,但它必须是正确的(或者至少指出你正确的方向)

询问是否有不清楚的地方,否则您会收到任何错误。我们会尽快修复它们

于 2013-07-14T08:59:57.523 回答