0
cases = Case.includes(:arrangement)
我可以遍歷所有的情況下,並得到排列值沒有更多的查詢生成每次我打電話case.arrangement.id
隨着時間的推移此查詢:
cases = Case.includes(:arrangement).order('arrangements.id asc')
通過所有的情況下,我循環,得到排列值運行另一個查詢加載安排記錄該情況。
如何使用.includes
以及按排列列排序,並且在每次撥打case.arrangement.id
時都沒有單獨的查詢?
這裏是我如何我循環運行查詢後:
cases_array = []
cases.each_with_index do |caseObj, i|
json_case = caseObj.as_json
json_case = json_case.merge(
:arrangement_id => caseObj.arrangement.try(:id),
:arrangement_location => caseObj.arrangement.try(:location).try(:name),
:arrangement_datetime => view_context.spell_date_and_time(
caseObj.arrangement.try(:timeslot).try(:timeslot)))
cases_array[i] = json_case
puts json_case
end
你能告訴你如何循環? – Pavan
'order('arrangements.id asc')'沒有參考安排表是否工作,因爲你是急切的加載安排? –
我沒跟着。如果我添加了沒有'.includes(:arrangements)'的order子句,它會出錯。 – Catfish