我想用,但而不是在數據庫中使用列GROUP_BY方法:GROUP_BY在belongs_to的assocciation
@posts.group_by(&:date)
我想有這樣的:
@ posts.group_by( &:作者)
where post belongs_to author。
我只是不確定的語法?
我想用,但而不是在數據庫中使用列GROUP_BY方法:GROUP_BY在belongs_to的assocciation
@posts.group_by(&:date)
我想有這樣的:
@ posts.group_by( &:作者)
where post belongs_to author。
我只是不確定的語法?
您可以在模型中寫道:
def author_name
self.author.name
end
然後
@posts.group_by(&:author_name)
在這種情況想必你實際上只是做
@posts.group_by(&:author_id)
更一般地,你可以通過一個block到group_by,所以如果你需要對某些任意邏輯進行分組:
@posts.group_by { |post|
... some code returning a value to group this post by ...
}
作爲一個有希望的相關因素,上次我查看時,group_by的實現保留了輸入給它的數據的相對順序,這對記住它有用,因爲它允許你對'flat '的帖子列表,然後當您將它們分組時,訂單將保留在分組中,而不是處理由group_by輸出的嵌套數據進行排序。
哇,有時我覺得真的很愚蠢...... – Cameron 2009-05-21 09:18:53