以下の内容はhttps://shinkufencer.hateblo.jp/entry/2019/10/06/000000より取得しました。


ActiveRecordの find , find_by , where の使い分け

初学者にいい感じに説明できなかったので、SQLの概念抜きにしてまとめてみる

用途ベースの使い分け方

いずれもModel(ActiveRecord)からデータを取得するために使うものだが まずは大きく2つのうちどちらかになるかを考える

  1. 結果が単一になるものを取りたい
  2. 結果が複数になるものを取りたい

Aの場合、どのように絞り込みたいかによって代わり

  1. サロゲートキーであるID
  2. 複合した条件

の2つで分かれる。この結果を持って

  • A1が find
  • A2が find_by
  • Bが where

といういずれかの選択になる。

また、whereに関しては直接モデルのクラスではなく ActiveRecord::Relation になることも気をつけなければいけない

参考リンク




以上の内容はhttps://shinkufencer.hateblo.jp/entry/2019/10/06/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14