ムカデノワラジ

ムカデノワラジ

ガジェット・Webサービス・プログラミング・エンタメについて書く雑記ブログ

MENU

rails db操作 便利なメソッド pluck の使い方

data = Model.where(条件文).pluck(:hoge,:foo,:bar)
モデルから、条件文に合う要素をカラムで取得して配列で返す。
pluckはdbに対して行う場合mapと比べて早くて軽い
sqlインスタンスに対して行う場合はmapのほうがsqlを発行する回数が少ないのでベター。
データが下の表の形式の時

data = Model.pluck(:index) #=> data = [1,2,3]
data = Model.pluck(:hoge,:foo) #=> data= [[a,b],[d,e],[g,h]]
index hoge foo bar
1 a b c
2 d e f
3 g h i
4 j k l
[[a,d,g],[b,e,h]]

という形式でほしい場合は以下のようにtransposeを使う

data= Model.pluck(:hoge,:foo).transpose