Jay*_*een 0 sql postgresql activerecord ruby-on-rails
在我看来,我称之为函数
def sum_customer_yearly_revenue(customer_id, year)
sum_customer_yearly_revenue = Sale.sum(:net_amount, :conditions => ['customer_id = ? AND financial_year = ?', customer_id, year])
end
Run Code Online (Sandbox Code Playgroud)
出于某种原因,SQL发送到Postgresql(在日志文件中查看)如下:
SELECT SUM("sales"."net_amount") AS sum_id FROM "sales"
Run Code Online (Sandbox Code Playgroud)
所有条件都被忽略了.
有没有人经历过这个,能给我一些见解吗?
将sum_customer_yearly_revenue方法更新为
对于 Rails 3.x
def sum_customer_yearly_revenue(customer_id, year)
Sale.where(:all, :conditions => ['customer_id = ? AND financial_year = ?', customer_id, year]).sum(:net_amount)
end
Run Code Online (Sandbox Code Playgroud)
对于 Rails 4.x
def sum_customer_yearly_revenue(customer_id, year)
Sale.where(customer_id: customer_id, financial_year: year).sum(:net_amount)
end
Run Code Online (Sandbox Code Playgroud)