我有一個模型將數組存儲在名爲'attributes'的表列之一中。因此,3個獨立的記錄可能是這樣的:Rails 4使用Ruby Enumerable使用數組查詢數組
記錄1
MyModel.attributes = {Red, Furry, Stinky}
記錄2
MyModel.attributes = {Red}
記錄3
MyModel.attributes = nil
記錄4
MyModel.attributes = {Blue, Furry, Sweet}
我想查詢該陣列,用於任何其他陣列,包括零的。結果應返回查詢數組中具有任何屬性的記錄以及屬性列爲零的任何記錄。
query_array = [Blue, Furry]
這個問題的答案查詢應提供記錄1,記錄3和記錄4 - 再次,它不看的所有
目前,我可以,如果我只是查詢
MyModel.all.select {|m| m.attributes["Furry"] or m.attributes["Blue"] }
做到這一點
但我希望能夠動態地創建數組,而不是手動編寫m.attributes [「attribute」]。我不知道如何做到這一點,而不需要所有的數組項,我只想要任何數組項和沒有屬性的記錄。
你正在使用什麼類型的數據庫?該列是什麼格式? –