Let's start from here

データベースとの連携(1) DBクラス

 
Laravelからデータベースへのアクセスは複数の方法がありますが、最初は先ず、ネイティブPHPをから使っているSQL色の強いDBクラスについて説明します。
DBクラスのクエリはSQLをそのまま使うので、過去に「mysqli」や「PDO」を使ったデータベース操作経験がある方はすぐ理解できると思います。

データの準備

データベースが未作成の場合は、新規で作成しましょう。

テーブル名:members
フィールド:id(連番)、name(氏名)、age(年齢)mail(メールアドレス)

テーブルを作成

ダミーデータの準備

ルーティングの準備

データの抽出 SELECT

DB::select( SQLクエリ ,パラメータ配列 );

最初は、第1引数のクエリのみで実行してみましょう。
MemberController

DBクラスのレコード出力

/resorces/views/index.blade.php

ではクエリに抽出条件を指定した場合は、

このage(年齢)の部分は、ユーザーが条件を入力して検索する場合は、意図しないSQLが実行されるリスクが残ります。
PDOやMysqliなどのドライバを使用した場合はプリペアドステートメントで処理します。

LaravelのDBクラスにも同様の機能が用意されてます。
今回の場合は、ageにプレースホルダを設定してパラメータで紐付けます。

こうすることでSQLインジェクション対策になります。
検索条件に値を指定する場合はこの形になります。
DBクラスで動的な値を設定する場合は、第2引数に必ずパラーメータを設定しましょう。

・クエリの値にプレースホルダを使って設定
・パラメータでプレースホルダと値の紐付け
・クエリを実行

データの挿入 INSERT

DB::insert( SQLクエリ , パラメータ配列 )

以下のレコードをテーブルに挿入(追加)するソースです。

データの更新 UPDATE

DB::update( SQLクエリ, パラメータ配列 );

id の値4のレコードのemailを更新します。

データの削除 DELETE

DB::delete( SQLクエリ , パラメータ配列 );

id の値4のレコードを削除します。