ruby - 从 PG Gem 返回值中删除列名

标签 ruby postgresql pg

我正在尝试使用以下方法从我的 Postgres 数据库中检索 URL 列表...

def get_urls(site_id)
  conn = PGconn.open(:dbname => 'my_listings')
  res = conn.exec("SELECT url_list FROM listings WHERE site_id=#{site_id}")
  array = []
  count = 0
  res.each do |row|
    row.each do |column|
      array[count] = column
      count += 1
    end
  end
  array
end

然后,当我运行代码时...

my_array = get_urls(3)
my_array[0]

我得到一个返回值

 => ["url_list", "http://www.somesite.com"] 

所以它为我提供了列名和数据值,我试图用这些值填充数组。

最佳答案

这是最简单的方法:

array = res.collect{|row| row['url_list']}

关于ruby - 从 PG Gem 返回值中删除列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900164/

相关文章:

ruby - 使用 JSON.parse 将 JSON 对象中的键顺序转换为 Ruby 哈希

ruby - ArgumentError 是否缺少 backtrace_locations?

ruby - bundle install 在移动文件后导致验证错误

ruby-on-rails - 我如何猴子修补在 Bundler 中管理的 gem?

sql - 如何从多个表中删除数据?

sql - Go 和多行参数 hell

mysql - 数据库设计模型客户、厨师、用户关系

sql - 我们可以将数据库从 Azure Sql 数据库直接迁移到 Azure postgreSql 数据库吗

ruby-on-rails-3.1 - 无法推送应用程序 Heroku - 无法通过 Bundler 安装 gems

javascript - 如何仅使用PG和Node返回PostgreSQL数据库结果?