Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Sequel:查询返回的数组将作为字符串对象而不是数组对象返回_Ruby_Postgresql_Sequel - Fatal编程技术网

Ruby Sequel:查询返回的数组将作为字符串对象而不是数组对象返回

Ruby Sequel:查询返回的数组将作为字符串对象而不是数组对象返回,ruby,postgresql,sequel,Ruby,Postgresql,Sequel,我正在使用Ruby Sequel的扩展 当我选择一个Postgresql数组列时,结果是Ruby中的一个字符串。我如何使它成为一个Ruby数组,这样我就可以在上面使用像.each这样的东西 CaseTypeCategory.first(category_name: 'Subscription')[:values] => "{value_one,value_two}" CaseTypeCategory.first(category_name: 'Subscription')[:values

我正在使用Ruby Sequel的扩展

当我选择一个Postgresql数组列时,结果是Ruby中的一个字符串。我如何使它成为一个Ruby数组,这样我就可以在上面使用像.each这样的东西

CaseTypeCategory.first(category_name: 'Subscription')[:values]
=> "{value_one,value_two}"

CaseTypeCategory.first(category_name: 'Subscription')[:values][0]
=> "{"
我们的数据库配置包括:

Sequel.extension :pg_array, :pg_inet, :pg_json
添加列的迁移包括:

alter_table :case_type_categories do
  add_column :values, "text[]"
end
我可以编写原始SQL来访问数组中的单个元素:

select values[1] from case_type_categories where category_name = 'Subscription'

您需要使用
DB.extension:pg\u array,:pg\u inet,:pg\u json
,而不是
Sequel.extension:pg\u array,:pg\u inet,:pg\u json
。否则,您只需要这些文件,而不需要修改Sequel::Database实例的配置。

请编辑您的问题,将Sequel配置为在此列中使用pg_数组扩展名的代码包括在内。@JordanRunning这就是您想要的吗?太棒了,谢谢。确认一下:
DB=Sequel::Model.DB
对吗?