我有一个Items表和一个带有has_many关联的关联ItemPrices表设置。 ItemPrices表还有一个tier_id字段。
所以结构基本上是
Item ItemPrices
--------- ------------
id id
ancestry item_id
title tier_id
price
Items表的设置与has_ancestry一样,并且工作正常。
如何获取itemprices在特定层中的项目层次结构?
答案 0 :(得分: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
ItemPrice模型:
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)
我没有检查这个但是它必须是正确的(或者至少指向正确的方向)
询问是否有不清楚的地方或您会收到任何错误。我们一定会尽快修复它们