我有一个模型将数组存储在名为'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”]。我不知道如何做到这一点,而不需要所有的数组项,我只想要任何数组项和没有属性的记录。
你正在使用什么类型的数据库?该列是什么格式? –