我怎么能做这样的事情?
myarray = ["name1","name2"]
Product.where('name ILIKE ?', %#{myarray}%)
我需要获取名称类似
name1
的所有产品和 name2
.这可能吗?
最佳答案
我想你想用 ILIKE
测试所有值功能。
这是在 Postgres 中完成的方式:
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);
尝试像这样转换为 Rails/Ruby 语法:
myarray_with_percetage_signs = ["name1","name2"].map {|val| "%#{val}%" }
Product.where("name ILIKE ANY ( array[?] )", myarray_with_percetage_signs)
关于ruby-on-rails - Rails where LIKE 和 array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19412607/