scaffoldingを使用すると、様々なデータ取得メソッドが生成される。"find"メソッドのように主キーで一意なデータを取得したりするようなメソッドが生成される。主キーとそれ以外の列を用いてデータを取得したい場合、具体的には論理削除フラグなどのフラグを参照する場合だけれども、この"find"メソッドは使用できない。そんなときに使用するのが"where"メソッド。こちらは、SQLの条件句をプレースフォルダを用いて作成できるのでとても便利。気をつけないといけないことがあって、"find"メソッドをそのまま"where"メソッドへ置き換えるとviewで「メソッドが見つからない」というエラーが発生するようになります。今日はこれでかなりはまった...。原因は"find"メソッドの戻り値は、取得したクラスのインスタンスが返ってくるのですが、"where"メソッドの戻り値は取得したクラスのインスタンスを持った配列が返ってくるためです。(当たり前と言えば当たり前...。主キーを指定して検索しているわけではないので、戻り値の個数は特定できないため配列になる)ということで、"where"メソッドに続いて"first"メソッドを指定することで"find"メソッドと同一の処理結果となりめでたしめでたしとなります。»スポンサープロフィール合同会社ビーグルソフトのブログです。設立日は2013年8月21日の会社です。までご連絡をお願い致します。SDKのバージョンを指定するphonelibを利用して電話番号を上手に扱うJavaScriptを利用してPDFに設定するフォントが文字化けするValidationAttributreでDIされたオブジェクトを取得するPostgresでUUIDを生成する注目記事スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。