续集,将值传递给pg_array查询

时间:2017-01-04 15:55:37

标签: ruby postgresql sequel

我正在寻找一种方法将数组参数传递给pg_array查询(https://www.postgresql.org/docs/8.2/static/functions-array.html)。类似的东西:

Model.where("array_col && ?", ids)

&安培;&安培; - 重叠

ids = [2,3]

array_col是包含整数的数组,例如[1,2]

当硬编码工作时:

Model.where("array_col && ARRAY[2,3]")

1 个答案:

答案 0 :(得分:2)

将pg_array扩展名加载到Sequel :: Database对象(它附带Sequel),然后:

Model.where("array_col && ?", Sequel.pg_array(ids))

续集还附带了一个pg_array_ops扩展名,允许你这样做:

Model.where(Sequel.pg_array(:array_col).overlaps(ids))