gpt4 book ai didi

Ruby activerecord 结果到数组

转载 作者:数据小太阳 更新时间:2023-10-29 09:00:29 24 4
gpt4 key购买 nike

我的目标是获取我的 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

这是我提出问题的部分。我想将返回的查询结果传递到二维数组中。以下是我目前必须执行的事件连接查询。

  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

谢谢

最佳答案

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

使用 ActiveRecord::Base.connection.execute(query) 我希望它在执行时返回 true。你想要的是数据上的光标,所以试试这个:

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

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

class Appn < ActiveRecord::Base
end

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

results = Appn.where(appn_id: $id)
puts results.to_a
=> [array of results]

关于Ruby activerecord 结果到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36912882/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com