引数に指定したカラムの値を配列で返してくれるメソッド
pluck(:hogehoge)
User.pluck(:firstname)
User.all.map(&:firstname) # 上記と同じ
# => ["太郎", "二郎", "新一", "平次"]
結果は同じだが、発行されるSQLが異なる。
pluckメソッドは、SQLの段階から取得するカラムのデータを絞り込んでいる
mapメソッドは、全てのデータを取得した後そのデータから特定のカラムのデータを取得している
User.pluck(:firstname)
SELECT `users`.`firstname` FROM `users`
User.all.map(&:firstname)
SELECT `users`.* FROM `users`
引数2つ指定もできる。
Employee.pluck(:firstname, :lastname)
# => [["太郎", "山田"], ["二郎", "安倍"], ["新一", "工藤"], ["平次", "服部"]]
##参考