Laravel は、Web アプリケーションの開発を高速化するための一連のツールとヘルパー機能を提供する人気のある PHP 開発フレームワークです。その中でも、Eloquent ORMは、Laravelフレームワークでのデータベース操作に使用されるツールの1つであり、Laravel開発者がデータベースをより迅速にクエリおよび操作できるようになります。この記事では、データベース クエリに Eloquent ORM を使用する方法を詳しく説明します。
まず、Laravel アプリケーションに Eloquent ORM をインストールする必要があります。 Composer を介して Eloquent ORM をインストールし、ターミナルを開き、Laravel プロジェクトが存在するフォルダーに入り、次のコマンドを入力します:
composer require illuminate/database
インストールが完了したら、config でデータベース接続を設定する必要があります。 /database.php、次のように:
'connections' => [ 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'strict' => true, 'engine' => null, ], ],
また、以下に示すように、.env ファイルにデータベース接続の関連情報を設定する必要があります:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel DB_USERNAME=root DB_PASSWORD=
使用 Eloquent ORM を使用してデータベース クエリを実行するには、最初にモデルを定義する必要があります。モデルとは、データベース テーブルを表す php クラスを指します。 Laravel では、次のように、artisan コマンドを使用してモデルを生成できます。
php artisan make:model User
これにより、User という名前のモデルが作成され、デフォルトでデータベース内の users テーブルにマップされます。別のテーブルにマップする場合は、$table 属性を使用してモデル内でテーブル名を指定します。
class User extends Model { protected $table = 'my_users'; }
モデルを定義したら、Eloquent ORM を使用してデータベースにクエリを実行できます。一般的に使用されるクエリ操作の一部を次に示します。
(1) すべてのレコードをクエリする
$users = User::all();
(2) ID に基づいて単一レコードをクエリする
$user = User::find(1);
(3) クエリ ベース他の条件の結果セット
$users = User::where('name', 'John')->get();
where メソッドに、等しい、等しくない、より大きい、より小さい、in などの一連の制約を追加できます。
$users = User::where('name', '=', 'John')->get(); $users = User::where('age', '>', 18)->get(); $users = User::whereIn('id', [1, 2, 3])->get();
(4) 並べ替え
$users = User::orderBy('name', 'desc')->get();
(5) 指定された列のクエリ
$users = User::select('name', 'email')->get();
select メソッドで複数のパラメータを渡すことができ、各パラメータはクエリ対象の列を表します名前。
(6) 結果セットを制限する
$users = User::skip(10)->take(5)->get();
skip メソッドと take メソッドを使用してページングを実装できます。skip メソッドは指定された数のレコードをスキップするために使用され、take メソッドは指定された数のレコードを返すために使用されます。
(7) 集計関数の使用
$avg_age = User::avg('age'); $max_age = User::max('age'); $min_age = User::min('age'); $count = User::count();
avg、max、min、count などのいくつかの集計関数を使用できます。
Eloquent ORM を使用してレコードを更新すると、最初にレコードをクエリしてから、モデル インスタンスの save メソッドを呼び出すことができます。
$user = User::find(1); $user->name = 'John'; $user->save();
update メソッドを使用して複数のレコードを更新することもできます。
User::where('active', 1)->update(['status' => 'inactive']);
Eloquent ORM を使用してレコードを削除すると、次のことが可能になります。まずレコードをクエリし、次にモデル インスタンスで delete メソッドを呼び出します。
$user = User::find(1); $user->delete();
destroy メソッドを使用して複数のレコードを削除することもできます。
User::destroy([1, 2, 3]);
これにより、ID 1、2、および 3 のレコードが削除されます。
この記事では、Eloquent ORM をデータベース クエリに使用する方法を詳しく紹介しました。 Eloquent ORM は、Laravel フレームワークの非常に強力で柔軟なツールであり、効率的で保守可能なデータベース クエリを迅速に構築するのに役立ちます。 Eloquent ORM についてご質問やコメントがございましたら、コメント欄に残してください。
以上がLaravel 開発: データベース クエリに Eloquent ORM を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。