我偶然發現了this answer,它幫助我完全按照我的想法生成了唯一值列表,但是,我不想要所有結果。有沒有什麼辦法可以過濾select
內的結果或其他方式來完成這個?從數據庫獲取唯一列結果列表
我正沿着這個線路思維的東西:
@results = MyModel.select("DISTINCT(columnForDistinction)", :myBoolean => false)
或
@results = MyModel.select("DISTINCT(columnForDistinction)", :someString => stringImLookingFor)
目前,我不能夠過濾在查詢的結果,所以我遍歷返回的數組並僅列出具有布爾值設置爲false的結果,如下所示:
<% @results.each do |result| %>
<% if !result.myBoolean %>
#do stuff here
<% end %>
<% end %>
d
<% @results.each do |result| %>
<% if result.someString == stringImLookingFor %>
#do stuff here
<% end %>
<% end %>
有沒有更好的方法來做到這一點?
'MyModel.select(:some_field).uniq'應該產生'=> SELECT DISTINCT some_field FROM my_model' – Orlando 2013-05-12 18:33:07
@Orlando不會只返回我的那場?我想要每一個領域,但只有滿足一定條件的結果。 – RileyE 2013-05-12 18:57:16
@奧蘭多如何讓我有一個額外的條件? – RileyE 2013-05-12 19:00:27