Twinkle
了解しました。Laravelの公式ドキュメントから「データベース:クエリビルダ」のページを選択し、日本語で説明いたします。
Laravelでは、「クエリビルダ」とは、データベースからデータを取得したり、挿入、更新、削除するための流暢なインターフェースを提供する強力なツールです。クエリビルダはPDOパラメータバインディングを使用しており、SQLインジェクション攻撃を阻止するのに役立ちます。
クエリビルダは、データベースファサードのDBクラスを使用して利用できます。例えば、データを取得する簡単なSELECTクエリは以下のように記述されます。
$users = DB::table('users')->get();
このコードはusersテーブルから全てのデータ列を取得します。
また、特定の列のみを取得するためには、selectメソッドを使用します。
$users = DB::table('users')->select('name', 'email as user_email')->get();
ここでは、nameとemail列だけを指定しており、email列はuser_emailとして取得します。
条件付きでデータを取得する場合は、whereメソッドを利用します。
$users = DB::table('users')->where('votes', '>', 100)->get();
この例では、votesが100より大きいレコードのみを取得しています。
クエリビルダは、ジョイン、ユニオン、グループ化などのより複雑なクエリ操作もサポートしています。さらに、クエリを実行する前にtoSqlメソッドを使ってSQLクエリ文字列をプレビューすることも可能です。
挿入操作はまた簡単で、以下のように行います。
DB::table('users')->insert(
['email' => '[email protected]', 'votes' => 0]
);
このコードは新しいユーザーをusersテーブルに追加します。
更新と削除も同様に直感的で、以下のように行えます。
DB::table('users')->where('id', 1)->update(['votes' => 1]);
DB::table('users')->where('votes', '<', 50)->delete();
上記は、それぞれidが1のユーザーのvotesを更新したり、votesが50より小さいユーザーを削除する例です。
クエリビルダは、LaravelのEloquent ORMと一緒にまたは、独自に使われることが多く、効率的で読みやすいデータベース操作を実現するための強力なツールです。
#laravel