Getting typed results from ActiveRecord raw SQL

后端 未结 6 2026
Happy的楠姐
Happy的楠姐 2020-12-29 20:51

In Sequel, I can do:

irb(main):003:0> DB[\"select false\"].get
=> false

Which returns a false boolean. I\'d like to be able to do so

6条回答
  •  死守一世寂寞
    2020-12-29 21:37

    This works for me in rails 5

    results = ActiveRecord::Base.connection.select_all(sql)
    results.rows.map{ |row| Hash[results.columns.zip(row)] }
    

    Gives nice results

    [{"person1"=>563, "person2"=>564, "count"=>1},
     {"person1"=>563, "person2"=>566, "count"=>5},
     {"person1"=>565, "person2"=>566, "count"=>1}]
    

提交回复
热议问题