簡體   English   中英

如何通過屬性哈希查找關聯的模型

[英]How to look up associated models by an attribute hash

僅供參考,該項目使用Mongo / Mongoid

可以說我有模型A,B,C和D。A has_many Bs has_many Cs has_many Ds。

每個屬性都有一個“名稱”屬性,該屬性在其關聯樹中是唯一的,但不一定在整個模型類中都是如此。

如果我有這樣的哈希:

{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

你可以做

@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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM