从列中获取列中的所有不同值作为数组

时间:2014-12-08 07:33:44

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

在Rails中,如何从列中获取所有不同的值,作为数组?

Matches
-------
winner_id     loser_id
1             2
1             3
1             4
1             5

我希望获取winner_id列中的所有不同ID,以及loser_id列中的所有不同ID。

运行Match.select(:winner_id).distinct.to_a不起作用。它返回一个数组或记录对象,如[#<Match id: nil, winner_id: 1>, #<Match id: nil, winner_id: 2>]。我正在尝试获得[1, 2]的结果。

1 个答案:

答案 0 :(得分:4)

使用pluck获取数组

Match.pluck(:winner_id).uniq