【问题标题】:How to look up associated models by an attribute hash如何通过属性哈希查找关联模型
【发布时间】:2015-06-02 06:36:34
【问题描述】:

仅供参考,此项目使用 Mongo/Mongoid

假设我有模型 A、B、C 和 D。A has_many Bs has_many Cs has_many Ds。

每个都有一个属性'name',它在它的关联树中是唯一的,但不一定在整个模型类中。

如果我有这样的哈希:

{a: "name1", b: "name2", c: "name3"}

{a: "name2", b: "name2", c: "name3", d: "name4"}

如何在哈希中找到最后一个模型?本质上(尽管散列大小需要是动态的):

@item = A.where(name: "name1").first
        .Bs.where(name: "name2").first
        .Cs.where(name: "name3").first

【问题讨论】:

    标签: ruby-on-rails ruby mongoid


    【解决方案1】:

    你可以这样做,

    @item = A.where(name: "name1").first
    @item = @item ? @item.Bs.where(name: "name2").first : Bs.where(name: "name2").first
    @item = @item ? @item.Cs.where(name: "name3").first : Cs.where(name: "name3").first
    @item = @item ? @item.Ds.where(name: "name4").first : Ds.where(name: "name4").first
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多