2014年11月13日木曜日

RailsのActive RecordでDISTINCTする方法

商品一覧の中から、重複を除いたブランドIDの一覧を取得したい場合、SQLのDISTINCTの代わりに、
Active Recordではuniqを使います

コード

@items = Item.select('bland_id').uniq

結果

結果として以下のような結果が返却されます
selectしているので、selectに指定したカラムにしかアクセスできません。
<Item bland_id: 3249>
<Item bland_id: 3250>
<Item bland_id: 1737>

使い方

ループでまわした場合は、以下のようにします。
@items.each do |item|
  p item.bland_id
end

0 件のコメント:

コメントを投稿

statistics

Arsip