Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Sequel和模式数组_Ruby_Sequel - Fatal编程技术网

Ruby Sequel和模式数组

Ruby Sequel和模式数组,ruby,sequel,Ruby,Sequel,我有一个用于ILIKE的模式数组,一个带有其他过滤器的现有数据集,我想将它添加到其中 patterns = ['abc%', 'bcd', '%cde', ...] 我使用Postgres,所以在SQL中我会做一些类似于和字段ILIKE ANY('abc%,…),但是如何实现这一点(或者类似的事情,比如动态和(字段ILIKE'abc'或字段ILIKE'bcd')?Sequel的理想解决方案是什么 谢谢!以下任何一项都应该有效 where(ary.map {|val| Sequel.ilike(

我有一个用于ILIKE的模式数组,一个带有其他过滤器的现有数据集,我想将它添加到其中

patterns = ['abc%', 'bcd', '%cde', ...]
我使用Postgres,所以在SQL中我会做一些类似于
和字段ILIKE ANY('abc%,…)
,但是如何实现这一点(或者类似的事情,比如动态
和(字段ILIKE'abc'或字段ILIKE'bcd')
?Sequel的理想解决方案是什么


谢谢!

以下任何一项都应该有效

where(ary.map {|val| Sequel.ilike(:column_name, val)}.reduce(&:|))
#or
where(Sequel.lit("table_name.column_name ILIKE ANY(#{ary.map(&:inspect).join(',')})"))

就我个人而言,我更喜欢前者,但如果您控制
ary
的内容,则任何一个都可以正常工作。

以下任何一个都可以工作

where(ary.map {|val| Sequel.ilike(:column_name, val)}.reduce(&:|))
#or
where(Sequel.lit("table_name.column_name ILIKE ANY(#{ary.map(&:inspect).join(',')})"))
就个人而言,我更喜欢前者,但如果您控制
ari
的内容,则两者都应该执行而不会出现问题