我有一个Items表和一个具有has_many关联的关联ItemPrices表设置。ItemPrices表还有一个tier_id字段。
所以结构基本上是
Item ItemPrices
--------- ------------
id id
ancestry item_id
title tier_id
price
Items表的设置与has_arcestry一样,并且运行良好。
如何获取项目价格在某一层中的项目层次结构?
它必须是这样的:
商品型号:
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)
我没有检查这个,但它必须是正确的(或者至少指向正确的方向)
询问是否有不清楚的地方,否则你会得到任何错误。当然我们会很快修复它们