はじめに
railsの基本的なデータ取得方法をまとめます。
allメソッド
全ての要素を取り出すメソッドです。モデルのすべての要素を配列で取得します。
# モデル名.all
# 以下が例となります。
User.all
findメソッド
モデルのidをキーとして検索するメソッドです。
idに当たるレコードがない場合はエラー(ActiveRecord::RecordNotFound)を起こします。
# モデル名.find(取得したいレコードのid)
# 以下が例となります。
User.find(1)
find_byメソッド
条件にマッチしたレコードを1件だけ返すメソッドです。
条件に一致するものがない場合はnilを返します。
# モデル名.find_by(検索するテーブルのカラム名: 検索したいデータ)
# 以下が例となります。
User.find_by(name: "たかし")
whereメソッド
条件に対しての結果をすべて返すメソッドです。
条件に一致するものがない場合はActiveRecord_Relationクラスを返します。
# モデル.where(検索条件)
# nameがたかしのものを検索
User.where(name: "たかし")
# nameがたかしかつseiがすずきのものを検索
User.find_by("name = ? and sei = ?", "たかし", "すずき")
終わりに
railsで基本的なデータの取得方法について紹介しました。
条件に一致するものがないときはそれぞれ違う結果を返すことは頭に入れておきたいです!