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' => 'example@example.com', '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