Mar*_*tin 18 activerecord ruby-on-rails
我怎么能这样做?
myarray = ["name1","name2"]
Product.where('name ILIKE ?', %#{myarray}%)
Run Code Online (Sandbox Code Playgroud)
我需要这里的名字是像所有的产品name1
和name2
.
这可能吗?
Edg*_*ons 35
我想你想用ILIKE
函数测试所有的值 .
这是在Postgres中完成的:
select * from table where value ilike any (array['%foo%', '%bar%', '%baz%']);
Run Code Online (Sandbox Code Playgroud)
尝试转换为Rails/Ruby语法,如下所示:
myarray_with_percetage_signs = ["name1","name2"].map {|val| "%#{val}%" }
Product.where("name ILIKE ANY ( array[?] )", myarray_with_percetage_signs)
Run Code Online (Sandbox Code Playgroud)
小智 -9
Product.where('name IN (?)', myarray)
Run Code Online (Sandbox Code Playgroud)
应该可以解决问题;)
归档时间: |
|
查看次数: |
7367 次 |
最近记录: |