rails中使用group by將資料分組顯示

2021-09-22 00:17:06 字數 711 閱讀 3114

rails中支援group_by方法,在console裡看看其工作原理:

>> a=(1..20).to_a

=> [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]

>> a.group_by

=>

>> 

通過乙個block提出的條件將乙個陣列轉化為乙個hash.

hash的key是陣列元素執行block之後得到的結果

value是原陣列中執行block得到key的元素組成的陣列.

所以,可以在rails中這麼用:

譬如根據性別對學生進行分組:

@students=student.find(:all)

@[email protected]_by

-那麼現在得到的@student_groups就有兩組,一組是male,一組是female.

在對其進行迴圈的時候,使用hash迴圈的方式:

<% @student_groups.each do |gender,students| %>

<%= gender %>

<% end %>

====結果如下:

female

male

hash的迴圈方式:

2層迴圈,先對keys進行迴圈,然後是key對應的values進行迴圈.

在Django中使用group by

在django中怎樣使用group by語句呢?找了很多資料,都沒有看到好的,在這裡分享兩種方法給大家 首先,我們先建乙個簡單的模型。class book models.model name models.charfield u 書名 max length 255,db index true aut...

Mysql中使用group by出錯

在使用mysql時執行group by時出現下圖的錯 修改 mysql 的my.ini 檔案windows下 linux修改mysqld.cnf檔案 在 mysqld 下新增引數 sql mode strict trans tables,no zero in date,no zero date,er...

Rails中使用flash總結

九 30th,2011 trackback 這個flash與adobe macromedia flash沒有任何關係。用於在兩個actions間傳遞臨時資料,flash中存放的所有資料會在緊接著的下乙個action呼叫後清除。一般用於傳遞提示和錯誤訊息。使用示例 controller class p...