LoginSignup
2
1

More than 1 year has passed since last update.

Rails4 | Model.select ( SQLクエリ上でカラムを絞る )

Last updated at Posted at 2016-04-26

.select

たとえば次のように書くと。
内部的に発行されるSQLとして、id カラムだけを得ることが出来る。

User.select(:id)

実際に確認してみよう。 ( users.id の部分に注目 )

User.select(:id).to_sql

# => "SELECT `users`.`id` FROM `users`"

もちろんこの場合は、「未指定のカラム」をオブジェクト上で得ることは出来ない。
id だけを得ているのに、 name を出そうとしてもダメだk.

User.select(:id).first.name

# => NoMethodError: undefined method `name'

用途

ひとつのカラムに膨大なデータが入っていたりして。
メモリを食う時に使うと良い。

( いつでも必要なカラムだけを得よ、という話もある )

Rails3 以前

Rails3 では書き方が古い。
次の書き方は、Rails4では廃止されている。

User.all(:select => 'id')

参考

環境

  • Rails 4.2.6

チャットメンバー募集

何か質問、悩み事、相談などあればLINEオープンチャットもご利用ください。

メンター受付

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1