Laravel 開発: データベース クエリに Eloquent ORM を使用する方法は?

WBOY
リリース: 2023-06-14 12:47:41
オリジナル
1498 人が閲覧しました

Laravel は、Web アプリケーションの開発を高速化するための一連のツールとヘルパー機能を提供する人気のある PHP 開発フレームワークです。その中でも、Eloquent ORMは、Laravelフレームワークでのデータベース操作に使用されるツールの1つであり、Laravel開発者がデータベースをより迅速にクエリおよび操作できるようになります。この記事では、データベース クエリに Eloquent ORM を使用する方法を詳しく説明します。

  1. 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=
ログイン後にコピー
  1. Defineモデル

使用 Eloquent ORM を使用してデータベース クエリを実行するには、最初にモデルを定義する必要があります。モデルとは、データベース テーブルを表す php クラスを指します。 Laravel では、次のように、artisan コマンドを使用してモデルを生成できます。

php artisan make:model User
ログイン後にコピー

これにより、User という名前のモデルが作成され、デフォルトでデータベース内の users テーブルにマップされます。別のテーブルにマップする場合は、$table 属性を使用してモデル内でテーブル名を指定します。

class User extends Model
{
    protected $table = 'my_users';
}
ログイン後にコピー
  1. データのクエリ

モデルを定義したら、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 などのいくつかの集計関数を使用できます。

  1. データの更新

Eloquent ORM を使用してレコードを更新すると、最初にレコードをクエリしてから、モデル インスタンスの save メソッドを呼び出すことができます。

$user = User::find(1);
$user->name = 'John';
$user->save();
ログイン後にコピー

update メソッドを使用して複数のレコードを更新することもできます。

User::where('active', 1)->update(['status' => 'inactive']);
ログイン後にコピー
  1. データの削除

Eloquent ORM を使用してレコードを削除すると、次のことが可能になります。まずレコードをクエリし、次にモデル インスタンスで delete メソッドを呼び出します。

$user = User::find(1);
$user->delete();
ログイン後にコピー

destroy メソッドを使用して複数のレコードを削除することもできます。

User::destroy([1, 2, 3]);
ログイン後にコピー

これにより、ID 1、2、および 3 のレコードが削除されます。

  1. 概要

この記事では、Eloquent ORM をデータベース クエリに使用する方法を詳しく紹介しました。 Eloquent ORM は、Laravel フレームワークの非常に強力で柔軟なツールであり、効率的で保守可能なデータベース クエリを迅速に構築するのに役立ちます。 Eloquent ORM についてご質問やコメントがございましたら、コメント欄に残してください。

以上がLaravel 開発: データベース クエリに Eloquent ORM を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート