我有一个带有数据类型数组的数据库列。如何在rails中查询带有数组的数组?例如,我的Product表中有一个OS软件阵列,我想查询它们:
selected_products = ['Apple', 'Linux']
Software.where("'#{selected_products}' = ANY (osses)")
编辑:
软件表的示例:
id | software | osses |
_______________________________________________________
1 product 1 {'Windows', 'Apple', 'Android'}
2 product 2 {'Android', 'Linux'}
3 product 3 {'Windows,', 'Android'}
4 product 4 {'Windows'}
在这种情况下,我希望查询返回id的1和2(因为id 1在Apple中匹配,id 2在Linux中匹配。)
答案 0 :(得分:1)
然后执行类似
的查询selected_products = ['Apple', 'Linux']
Software.where.overlap(osses: selected_products)