我有以下SQL代碼:需要幫助把一個SQL查詢到一個ActiveRecord查詢
SELECT u.full_name, pu.task_name, sum(hours)
FROM efforts
INNER JOIN project_tasks pu ON efforts.project_task_id = pu.id
INNER JOIN users u ON efforts.user_id = u.id
GROUP BY user_id, task_name
它輸出的所有用戶,他們的任務,他們的時間。我現在試圖做的是將其轉換爲Rails的ActiveRecord查詢。
我想讓它看起來類似於我在下面做的事情,但似乎無法讓我的邏輯正確。
Project.all.each do |project|
projdata = { 'name' => project.project_name.to_s,
'values' => [] }
['Pre-Sales','Project','Fault Fixing','Support'].each do |taskname|
record = Effort.sum(:hours,
:joins => :project_task,
:conditions => { "project_tasks.project_id" => project.id,
"project_tasks.task_name" => taskname })
projdata[ 'values' ].push(record)
end
@data.push(projdata)
end
end
end
添加的圖像鏈接
鏈路示出的曲線圖。我需要做的是將我的SQL語句轉換爲一個activeRecord查詢,它將像我提供的那樣將其顯示爲我的其他圖形。
問題是什麼? – Daan
我想將上面的SQL語句轉換爲RoR,以便當我將它實現爲高層圖時,它將顯示所有用戶他們的任務和他們的小時 – David
爲此,您需要顯示ActiveRecord模型,因爲從中生成SQL。但是真正的問題是什麼?究竟是什麼錯誤?你需要更清楚一點.. – Daan