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的处理/解决方法,可以参考本文帮助大家快速定位并解决问题,中文翻译不准确的可切换到English标签页查看源文。


I am using the pg_array extension and sequel version 4.1.1.

I have added the extension like this:

Sequel::Database.extension :pg_array

I have created a column like this:

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

I can load and retrieve arrays into a postgress array column, just like working with normal arrays.

What is not clear from the above link is how do I execute a query based on the values in this array column.

For example, if one row in the emails table contained these values in the references column:


How can I query the emails table to find a row that contains a references array value of the above value:

Email.where(references: ????)


Use the pg_array_ops extension:

Sequel.extension :pg_array_ops


Have you tried?

ref = '5363f773bccf9'
emails = Email.arel_table
Email.where( emails[ :references ].matches( "%#{ref}%" ))