Ruby activerecord结果为数组

时间:2016-04-28 11:09:42

标签: ruby activerecord

我的目标是获取我的activerecord搜索结果并将其打印成一个漂亮的数组,但打印部分是我遇到麻烦的地方。

我首先用以下内容构建我的oracle连接,它独立工作。

  def oracle_connection(adapter, database, username, password)
    begin
      ActiveRecord::Base.establish_connection(
          adapter: adapter,
          database: database,
          username: username,
          password: password)
    end
  end

然后我使用以下函数创建我的查询:

def query
      "select * from owner.appn where appn_id = #{$id}"
end

以下是我提出问题的部分。我想将返回的查询结果传递给2D数组。以下是我目前执行活动连接查询所需的内容。

  def oracle_query_into_array(query)
    result_set = ActiveRecord::Base.connection.execute(query)
    if result_set.present?
#add logic here
    else
      return nil
    end
  end

由于

1 个答案:

答案 0 :(得分:2)

我假设你有理由使用底层连接调用而不是常见的抽象。

使用model.documentUpload我希望如果执行它会返回true。你想要的是光标数据,所以试试这个:

ActiveRecord::Base.connection.execute(query)

通常的抽象(ActiveRecord::Base)将采用创建模型来表示数据的形式,因此在您的情况下,这可能如下所示:

result = ActiveRecord::Base.connection.exec_query(query)
puts result.to_a
=> [array of results]

这将自动映射到您的连接中名为Appnn的表,允许您将上述代码更新为:

class Appn < ActiveRecord::Base
end