目次
この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
ruby on railsのfindで取得できる値を列挙してみます。
条件に一致するものが見つからない場合に、それぞれ返却される値が違ったりするのでその確認用の記事です。
(検証環境:rails 2.3.11)
Hogehoge.find(:all) またはHogehoge.all
Hogehogeクラスオブジェクトがレコード分の配列で返却されます
[#<hogehoge id: 1, column1:0>, #<hogehoge id: 2, column1:1>, #<hogehoge id: 3, column1:0>]
条件に一致するものが見つからない場合(レコードが0件の場合):[](空配列)
Hogehoge.find(:first) またはHogehoge.first
最初のレコードが1件のみ返却されます
#<hogehoge id: 1, column1:0>
条件に一致するものが見つからない場合:nil
Hogehoge.find(1)
プライマリキーが1のHogehogeクラスオブジェクトが返却されます
#<hogehoge id: 1, column1:0>
条件に一致するものが見つからない場合:例外
Hogehoge.find_by_column1(0)
カラム名column1が0という条件に一致する最初のレコードが1件のみ返却されます
#<hogehoge id: 1, column1:0>
条件に一致するものが見つからない場合:nil