我想創建一個基於Ruby on Rails的Redmine插件。我有以下查詢獲取發票過程中所有問題的time_entries總和。如何在Ruby on Rails中使用關聯使用連接
SELECT SUM(t.hours)
FROM time_entries t
JOIN invoices i ON t.project_id = i.project_id
WHERE t.project_id = <current project [email protected]>
AND i.id = <billing invoice id>
AND t.updated_on > 'i.created_at'
AND t.updated_on < 'i.due_date'
我怎樣才能店內發票表列名爲time_spent這個查詢數據或取回發票的結果查看其中列出了所有的發票與發票ID上面的查詢
模型的關聯,我創建沿是這樣的
class Invoice < ActiveRecord::Base
set_table_name "invoices"
set_primary_key "invoice_id"
belongs_to :project
belongs_to :author, :class_name => "User", :foreign_key => "author_id"
has_many :time_entries, :class_name => "TimeEntry", :foreign_key => "project_id"
在我打電話的模型
@invoices = Invoice.find(:all, :joins=>" INNER JOIN time_entries ON time_entries.project_id = invoices.project_id",:conditions => ["invoices.project_id = ? AND updated_on > ? AND updated_on < ?", @project.id, invoices.created_at, invoices.due_date])
控制器
我知道控制器實例變量是完全搞砸了。
某處我犯了錯誤。有人可以幫我解決這個問題。
您運行的是什麼版本的軌道? – miked 2012-02-21 02:22:13
我正在使用Rails 2.3.14和Ruby 1.8.7 – user434509 2012-02-21 15:51:51