Ruby on Rails Active Record Query - 计算记录

时间:2011-08-10 23:14:46

标签: ruby-on-rails

您好我是rails的新手并开发了一个应用程序来从数据库中提取结果以准备图表。我的控制器中有以下代码:

@statistic = OutstandingWorkIndex.find_by_sql ["SELECT Result_Set.Set_Code, Request.Specimen_Number ,       
DATEDIFF('hh',Result_Set.Date_Time_Booked_In,current_timestamp) as HrsIn FROM iLabTP.Outstanding_Work_Index, iLabTP.Result_Set Result_Set, iLabTP.Request    
WHERE Outstanding_Work_Index.Request_Row_ID = Result_Set.Request_Row_ID and Outstanding_Work_Index.Request_Row_ID = Request.Request_Row_ID and Result_Set.Set_code=? 
order by Result_Set.Date_Time_Booked_In DESC", params[:set_code].upcase]

我想要做的是计算除了上面的对象之外返回的记录数,然后我用它来创建配对值的XML流,或者在视图中使用google charts java script api。

我是否需要发出如下命令:

@statistic = OutstandingWorkIndex.find_by_sql ["SELECT Result_Set.Set_Code, Request.Specimen_Number , 
DATEDIFF('hh',Result_Set.Date_Time_Booked_In,current_timestamp) as HrsIn 
FROM iLabTP.Outstanding_Work_Index, iLabTP.Result_Set Result_Set, iLabTP.Request 
WHERE Outstanding_Work_Index.Request_Row_ID = Result_Set.Request_Row_ID and Outstanding_Work_Index.Request_Row_ID = Request.Request_Row_ID and Result_Set.Set_code=? 
order by Result_Set.Date_Time_Booked_In DESC", params[:set_code].upcase].**count**

如果是这样,会导致重新发布查询?

由于

1 个答案:

答案 0 :(得分:1)

你应该这样做:

@size = @statistic.size

很好explained here

相关问题