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