ruby sequel gem-how to query arrays with pg_array extension[英] ruby sequel gem - how to query arrays with the pg_array extension

本文是小编为大家收集整理的关于ruby sequel gem-how to query arrays with pg_array extension的处理方法,想解了ruby sequel gem-how to query arrays with pg_array extension的问题怎么解决?ruby sequel gem-how to query arrays with pg_array extension问题的解决办法?那么可以参考本文帮助大家快速定位并解决问题。

问题描述

我正在使用 pg_array 扩展和续集版本 4.1.1.

我添加了这样的扩展:

Sequel::Database.extension :pg_array

我创建了一个这样的列:

alter_table :emails do
  add_column :references, "text[]", null: true
end

我可以将数组加载和检索到 postgress 数组列中,就像使用普通数组一样.

从上面的链接中不清楚的是如何根据这个数组列中的值执行查询.

例如,如果 emails 表中的一行在 references 列中包含这些值:

                             references                             
--------------------------------------------------------------------
 {}
 {5363f773bccf9_32123fe75c45e6f090953@Pauls-MacBook-Pro.local.mail}

如何查询 emails 表以找到包含上述值的引用数组值的行:

Email.where(references: ????)

推荐答案

使用 pg_array_ops 扩展:

Sequel.extension :pg_array_ops
Email.where(Sequel.pg_array_op(:references).contains('5363f773bccf9_32123fe75c45e6f090953@Pauls-MacBook-Pro.local.mail'))

本文地址:https://www.itbaoku.cn/post/1763833.html