ORM リレーショナル マッピングに Hyperf フレームワークを使用する方法
はじめに:
Hyperf は、Swoole 拡張機能に基づく高性能 PHP フレームワークであり、多くの強力な機能を提供します。 ORM (オブジェクト リレーショナル マッピング) ツールを含む機能とコンポーネント。この記事では、ORM リレーショナル マッピングに Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。
1. 準備
開始する前に、Hyperf フレームワークがインストールされており、データベース接続情報が正しく構成されていることを確認してください。
2. モデルの定義
Hyperf フレームワークでは、データベース テーブルに対応するモデル クラスを作成する必要があります。モデル クラスは HyperfDatabaseModelAbstractModel クラスから継承し、テーブル名と主キーを指定する必要があります。
use HyperfDbConnectionModelModel; class User extends Model { protected $table = 'users'; protected $primaryKey = 'id'; }
3. データのクエリ
Hyperf の ORM ツールを使用すると、データベースに簡単にクエリを実行し、結果を返すことができます。一般的に使用されるクエリ メソッドの例を次に示します。
$users = User::all(); foreach ($users as $user) { echo $user->name; }
$user = User::where('age', '>', 18)->first(); echo $user->name;
$users = User::where('age', '>', 18)->get(); foreach ($users as $user) { echo $user->name; }
4. データの挿入
Hyperf の ORM ツールを使用すると、データベースにデータを簡単に挿入できます。以下はサンプル コードです:
$user = new User(); $user->name = 'John'; $user->age = 25; $user->save();
5. データの更新
Hyperf の ORM ツールを使用すると、データベース内のデータを簡単に更新できます。例は次のとおりです。
$user = User::find(1); // 查找ID为1的记录 $user->name = 'Mary'; // 更新name字段 $user->save(); // 保存更新
6. データの削除
Hyperf の ORM ツールを使用すると、データベース内のデータを簡単に削除することもできます。例は次のとおりです:
$user = User::find(1); // 查找ID为1的记录 $user->delete(); // 删除记录
7. アソシエーション関係
データベースでは、複数のテーブル間に関係が存在することがよくありますが、Hyperf の ORM ツールは、関係を処理するための便利な方法も提供します。例をいくつか示します。
use HyperfDatabaseModelRelationsHasOne; class User extends Model { public function userProfile(): HasOne { return $this->hasOne(UserProfile::class, 'user_id', 'id'); } } class UserProfile extends Model { public function user(): BelongsTo { return $this->belongsTo(User::class, 'user_id', 'id'); } }
上記の例では、User モデルとUserProfile モデル。 $user->userProfile を通じて関連する UserProfile モデルを取得することも、$userProfile->user を通じて関連する User モデルを取得することもできます。
use HyperfDatabaseModelRelationsHasMany; class User extends Model { public function orders(): HasMany { return $this->hasMany(Order::class, 'user_id', 'id'); } } class Order extends Model { public function user(): BelongsTo { return $this->belongsTo(User::class, 'user_id', 'id'); } }
上の例では、User モデルと Order モデルの間に 1 対多の関連付けが確立されています。 $user->orders を通じて関連するすべての Order モデルを取得することも、$order->user を通じて関連する User モデルを取得することもできます。
8. 概要
この記事では、ORM 関係マッピングに Hyperf フレームワークを使用する方法を紹介し、具体的なコード例を示します。 Hyperf の ORM ツールを使用すると、データベースの操作やさまざまな関係を簡単に扱うことができ、開発効率が向上します。
実際、Hyperf の ORM ツールは、ページング クエリや集計クエリなどのより高度な機能も提供しており、読者は自分のニーズに応じてさらに調べることができます。この記事が、読者が ORM リレーショナル マッピングに Hyperf フレームワークを使用する際に役立つことを願っています。
以上がORM リレーショナル マッピングに Hyperf フレームワークを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。