Sequel,将值传递给 pg_array 查询

Sequel, pass value to pg_array query

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

将 pg_array 扩展加载到 Sequel::Database 对象(它随 Sequel 一起提供),然后:

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

Sequel 还附带一个 pg_array_ops 扩展,它允许您执行:

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