我正在寻找一种方法将数组参数传递给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]")
答案 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))