[英]Chartkick, line_chart (not series) data with hash in array
我有以下查詢,它是使用Sequel的.fetch方法的原始SQL(希望我可以為此使用sequel DSL)
Radacct.fetch("SELECT `acctstarttime` AS `date`, count(*) AS `count` FROM `radacct` WHERE (`calledstationid` = ?) GROUP BY DATE(acctstarttime)", 'C8-60-00-95-4B-0F')
結果數據為:
[{"date":"2015-11-08T19:59:57.000+08:00","count":4},{"date":"2015-11-09T00:02:37.000+08:00","count":3}]
這是數組中的哈希。 chartkick gem的line_chart讀取數據的方式應該是這樣的:
{"2015-12-09T03:31:25.000+08:00":1}
我不確定如何使用.map函數或.collect來展平並刪除鍵(日期和計數),以便我可以正確地在chartkick中渲染折線圖。
您需要輸入以下內容:
array.collect{|i| [i[:date],i[:count]]}
你得到這個:
array= [{"date":"2015-11-08T19:59:57.000+08:00","count":4},{"date":"2015-11-09T00:02:37.000+08:00","count":3}]
=> [{:date=>"2015-11-08T19:59:57.000+08:00", :count=>4}, {:date=>"2015-11-09T00:02:37.000+08:00", :count=>3}]
array.collect{|i| [i[:date],i[:count]]}
=> [["2015-11-08T19:59:57.000+08:00", 4], ["2015-11-09T00:02:37.000+08:00", 3]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.