技術メモ

書いておぼえるブログ

【Ruby on Rails】DBからユニークなデータを配列で取りたい

状況  

テーブルの任意のカラムから重複を省いた要素を配列で取り出したい。  

解決  

pluck()してcompact.uniqする。  

コード  

ids = Music.where(is_favorite: true).pluck(:id).compact.uniq

雑感  

あえてidを配列で取得してからActive Recordsに渡して絞りまなければならない場合、こうすればうまいこと一意なidを取り出せる。