0
当我从这样的获取SQL查询的结果字符串中的Rails
sqlite3 db/development.sqlite3 < queries.sql
在命令行中运行复杂的SQL查询,我得到这样的
Competency Name|Component Name|3.77|4.0|0.23
Another Competency Name|Another Component Name|3.77|4.0|0.23
,我可以轻松地分析结果像这样
hidden_strengh_strings = results.split("\n")[1..-1];
hidden_strengh_strings.each do |hidden_strength_string|
hidden_strengh_values = hidden_strength_string.split("|");
hidden_strength = {}
hidden_strength.merge!(:competency => hidden_strengh_values[0]);
hidden_strength.merge!(:component => hidden_strengh_values[1]);
hidden_strength.merge!(:reviewer_average_score => hidden_strengh_values[2]);
hidden_strength.merge!(:reviewee_average_score => hidden_strengh_values[3]);
hidden_strength.merge!(:exceedance => hidden_strengh_values[4]);
hidden_strengths << hidden_strength
end
但我不知道如何从ActiveRecord中获得这些结果。
results = ActiveRecord::Base.connection.execute(File.open(Rails.root.join('queries.sql'), 'r') { |f| f.read });
似乎并没有做我想做的事。
我很乐意采取任何方法来解决这个问题。甚至可以从ActiveRecord DSL中重写sql。但我需要帮助找到正确的方向。
谢谢:))
queries.sql的内容是什么?如果你可以从ActiveRecord运行它们,那不会有帮助吗? – Nishant