我的目标是获取我的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
由于
答案 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