Laravel は、開発者が効率的でスケーラブルな Web アプリケーションを迅速に構築できるようにする人気の PHP フレームワークです。データベースのデータをクエリする必要がある場合、Laravel で SQL クエリを使用するのが一般的です。この記事ではLaravelでSQLクエリを実行する方法を紹介します。
Laravel を使用して SQL クエリを実行し始める前に、まずデータベース接続情報を設定する必要があります。 Laravel では、データベース接続情報の設定は非常に簡単です。.env
ファイルを開いて次の情報を変更するだけです:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database_name DB_USERNAME=username DB_PASSWORD=password
これらのパラメータを変更するだけで、Laravel は次の情報を変更します。データベースに自動的に接続し、提供されたパラメータを使用して接続します。これで、SQL クエリの実行を開始する準備が整いました。
Laravel で SQL クエリを実行するには、いくつかの方法があります。一般的に使用される方法をいくつか紹介します。
Laravel の DB クラスは、SQL クエリを実行するために使用できる一連のメソッドを提供します。まず、コントローラーまたはモデルに DB クラスを導入する必要があります。
use IlluminateSupportFacadesDB;
DB クラスを導入したら、次のメソッドを使用して SQL クエリを実行できます。
DB クラスのselect()
メソッドを使用してデータをクエリできます。以下に例を示します。
$data = DB::select('SELECT * FROM users');
上の例では、users
テーブル内のすべてのデータをクエリし、結果を$data
変数に保存します。パラメータを使用してクエリを動的に構築することもできます。
$id = 1; $data = DB::select('SELECT * FROM users WHERE id = ?', [$id]);
上記の例では、プレースホルダ?
を使用して$id
パラメータの位置を表し、それを渡します。パラメータをselect()
メソッドの 2 番目のパラメータに追加します。
DB クラスのinsert()
メソッドを使用してデータを挿入できます。以下は例です:
$name = 'John Doe'; $email = 'johndoe@example.com'; DB::insert('INSERT INTO users (name, email) VALUES (?, ?)', [$name, $email]);
上の例では、データの一部をusers
テーブルに挿入しました。
DB クラスのupdate()
メソッドを使用してデータを更新できます。以下は例です:
$id = 1; $email = 'johndoe@example.com'; DB::update('UPDATE users SET email = ? WHERE id = ?', [$email, $id]);
上の例では、users
テーブル内の ID 1 を持つユーザーの電子メール属性をjohndoe@example.com## に更新します。 # 。
delete()メソッドを使用してデータを削除できます。以下は例です:
$id = 1; DB::delete('DELETE FROM users WHERE id = ?', [$id]);
usersテーブル内の ID 1 のユーザーを削除します。
$data = DB::table('users')->get();
users## 内のすべてのデータをクエリします。 # テーブル データを作成し、結果を$data
変数に保存します。連鎖メソッドを使用してクエリを動的に構築することもできます。
上の例では、$data = DB::table('users') ->select('name', 'email') ->where('id', '=', 1) ->get();
メソッドを使用して、where( を使用してクエリ結果の列を選択します。 )
メソッドは WHERE 句を追加します。挿入
$name = 'John Doe'; $email = 'johndoe@example.com'; DB::table('users')->insert([ 'name' => $name, 'email' => $email ]);
上の例では、
usersに行を挿入しました。テーブルデータ。更新
$email = 'johndoe@example.com'; DB::table('users') ->where('id', 1) ->update(['email' => $email]);
上の例では、
usersID は 1 です。テーブル内のユーザーの電子メール属性は、johndoe@example.com
に更新されます。削除
DB::table('users')->where('id', 1)->delete();
上の例では、
usersID は 1 です。テーブル内のユーザーが削除されました。まとめ
以上がSQL経由のlaravelクエリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。