ORM(Eloquent)の利用 (4/5)
作成:2016-02-14 11:31
更新:2016-02-14 11:31
更新:2016-02-14 11:31
■whereで検索する
続いて、簡単な検索を行ってみましょう。決まったフィールドから指定の値を持つレコードを検索する、ということを行ってみます。
下に、簡単なgetIndexメソッドのコードを挙げておきます。コントローラーをこのように書き換え、アクセスするアドレスに「id」のクエリーパラメータを付けてアクセスしてみてください。例えば、こんな感じです。
これで、IDが「1」のレコードが検索され表示されます。idの値をいろいろと変更して表示を確かめてみましょう。
ここでは、まず$request->idでクエリーパラメータのidの値を変数に取り出しています。そしてMyTableクラスの「where」と「get」を使って、idを指定した検索を行っています。これは以下のように呼び出します。
where――フィルター処理を行うもの。第1引数でしていたフィールドから、第2引数の値のものだけを絞り込む。
get――whereで絞りこまれたレコードを取り出す。
whereは、引数で条件を指定し、そのレコードだけを取り出すよう絞り込むためのものです。これ自体は、何も値は取り出しません。その後にあるgetが、絞りこまれたれコードを取り出すものになります。検索は、基本的にこの2つを組み合わせて行います。
下に、簡単なgetIndexメソッドのコードを挙げておきます。コントローラーをこのように書き換え、アクセスするアドレスに「id」のクエリーパラメータを付けてアクセスしてみてください。例えば、こんな感じです。
http://localhost:8000/helo?id=1
これで、IDが「1」のレコードが検索され表示されます。idの値をいろいろと変更して表示を確かめてみましょう。
ここでは、まず$request->idでクエリーパラメータのidの値を変数に取り出しています。そしてMyTableクラスの「where」と「get」を使って、idを指定した検索を行っています。これは以下のように呼び出します。
モデル::where( 項目 , 値 )->get();
where――フィルター処理を行うもの。第1引数でしていたフィールドから、第2引数の値のものだけを絞り込む。
get――whereで絞りこまれたレコードを取り出す。
whereは、引数で条件を指定し、そのレコードだけを取り出すよう絞り込むためのものです。これ自体は、何も値は取り出しません。その後にあるgetが、絞りこまれたれコードを取り出すものになります。検索は、基本的にこの2つを組み合わせて行います。
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
public function getIndex(Request $request) { $id = $request->id; $data = MyTable::where('id', $id)->get(); return view('helo', ['message' => 'MyTable List','data' => $data]); }
※関連コンテンツ