🎓
mapメソッドとpluckメソッドって結局どっちを使うか?
pluckとmapの違い
pluckメソッド
指定したカラムのみをSQLで取得する。
Post.pluck(:title)
SELECT `post`.`title` FROM `post`
=> ["test_1", "test_2", "test_3", "test_4"]
mapメソッド
すべてのデータ取得後、そのデータから特定のカラムのデータを取得します。
mapはレシーバをメモリに読み込むのでメモリを浪費してしまう。
Post.all.map(&:title)
SELECT `post`. FROM `post`
=> ["test_1", "test_2", "test_3", "test_4"]
どのように使い分けるか
pluckメソッドは、特定のカラムのデータしか使用しないとき
mapメソッドは、インスタンス化されたオブジェクトからデータを取得するとき
Discussion