2014-04-02 42 views
0

需要活動記錄應該在兩個記錄的組或批次中。需要以自定義格式獲取活動記錄

因爲我需要循環兩個組中的活動記錄。

目前我得到的格式的所有數據例如像

[#<users id: 2, title: "mr">, 
#<users id: 3, title: "mr">, 
#<users id: 4, title: "mr">, 
#<users id: 5, title: "mr">] 

我的數據是這樣,

[ 
    [#<users id: 2, title: "mr">, #<users id: 3, title: "mr">], 
    [#<users id: 4, title: "mr">, #<users id: 5, title: "mr">] 
] 

這可以通過循環,推動數據和手動創建數組,但我需要它由ActiveRecord完成。

+0

爲什麼你需要的ActiveRecord檢索這樣你的數據? –

回答

1

因此,ActiveRecord有一個find_in_batches方法,它可以讓您以小組的形式處理表結果,而不是一次從數據庫中檢索所有記錄,但聽起來好像您只是想避免編寫循環來將記錄分組爲你想要的數組格式。

如果是這樣的話,實際上你可以做到這一點很容易使用Enumerable#each_slice方法:

User.all.each_slice(2).to_a 
+0

這不是我想要的。 Np我找到了我自己的each_slice(2)數組的方法。 –

+0

哦,你說得對,'each_cons'會給你重複。我會更新我的答案,而不是使用'each_slice'。 –