【Ruby on Rails】DBからユニークなデータを配列で取りたい
状況
テーブルの任意のカラムから重複を省いた要素を配列で取り出したい。
解決
pluck()
してcompact.uniq
する。
コード
ids = Music.where(is_favorite: true).pluck(:id).compact.uniq
雑感
あえてidを配列で取得してからActive Recordsに渡して絞りまなければならない場合、こうすればうまいこと一意なidを取り出せる。
テーブルの任意のカラムから重複を省いた要素を配列で取り出したい。
pluck()
してcompact.uniq
する。
ids = Music.where(is_favorite: true).pluck(:id).compact.uniq
あえてidを配列で取得してからActive Recordsに渡して絞りまなければならない場合、こうすればうまいこと一意なidを取り出せる。