如何在SQL请求中访问数据

时间:2019-06-04 07:37:23

标签: ruby-on-rails

我正在模型中运行sql请求以获取一些相关数据。

我有一个名为newScoring["_646_maturity", "_660_maturity", "_651_maturity", "_652_maturity", "_641_maturity"]的数组

newScoring.each do |e|
      numero = e.from(1).to(-10) // remove text to get only number : 646

      sql = "SELECT * FROM pratiques WHERE numero LIKE '%"+numero+"%'" // sql request to get a pratique with numero equal to my previous number

      records_array = ActiveRecord::Base.connection.execute(sql)

      Rails.logger.debug "SQL : "+records_array
end

我登录records_array.inspect时得到

[{"id"=>1, "numero"=>646, "titre"=>"Acquérir en priorité des équipements reconditionnés", "ponderation"=>3, "texte_kpi"=>"% du parc reconditionné", "section"=>"achats-responsables", "created_at"=>"2019-06-03 14:10:14.228234", "updated_at"=>"2019-06-03 14:10:14.228234"}]

我想访问ponderation值,但没有找到任何相关文档。我尝试了其他操作,但是在字符串转换时出现了错误消息。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

由于records_array是一个哈希数组,因此您需要先选择所需的行(哈希),然后访问所需的列:

records_array.first['ponderation'] # or records_array[0]['ponderation']
=> 3

顺便说一句,如果您在Rails上,为什么不为practiques生成模型并使用ActiveRecord?