Как получить доступ к данным в запросе sql - PullRequest
0 голосов
/ 04 июня 2019

Я запускаю запрос 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 голосов
/ 04 июня 2019

Поскольку records_array является массивом хэшей, вам нужно сначала выбрать нужную строку (хэш), а затем получить доступ к нужному столбцу:

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

Кстати, если вы находитесь на Rails, почему бы вам не сгенерировать модель для practiques и не использовать ActiveRecord?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...