ホームページ > 記事 > PHPフレームワーク > ThinkPHP6のORM機能の使い方
ThinkPHP6 は、新しいアーキテクチャ設計と ORM 機能を採用した、高性能かつシンプルで使いやすい PHP 開発フレームワークです。この ORM 機能は、アプリケーション内のデータベースを簡単に管理および操作するのに役立ち、シンプルなコードを通じてより迅速な開発と変更を可能にします。この記事では、ThinkPHP6 の ORM 機能を使用してアプリケーションをより適切に構築および保守する方法を学びます。
まず、構成ファイルでデータベース接続を設定する必要があります。 ThinkPHP6 のデフォルト設定ファイルでは、データベース設定は config/database.php ファイルに保存されます。
// config/database.php return [ 'type' => 'mysql', 'hostname' => 'localhost', 'database' => 'testdb', 'username' => 'root', 'password' => '', 'hostport' => '', // 其他配置参数 ];
この構成ファイルでは、接続に必要なパラメータを設定できます。この例では、MySQL データベースが使用され、ユーザー名やパスワードなどの必要なパラメーターが設定されます。
モデルクラスはデータを管理・操作するための核となるクラスであり、ORM機能を使用するために新規にモデルクラスを作成する必要があります。 ThinkPHP6 では、次のコマンドを実行してモデル クラスを作成できます。
php think make:model User
上記のコマンドを実行すると、「User」という名前のモデル クラスが作成されます。コマンドの実行時に「-m」および「-r」オプションを使用して、テンプレートおよびバリデータ機能を備えたモデル クラスを作成することもできます。これらの関数を使用して、フォームやフォームバリデータなどの自動生成コードを生成できます。
php think make:model User -m -r
次に、モデル クラスのデータベース テーブルに対応するプロパティとメソッドを定義できます。次の例では、「users」テーブルに対応するモデル クラスを定義します。
// app/model/User.php namespace appmodel; use thinkModel; class User extends Model { // 数据表主键 protected $pk = 'id'; // 数据表名(不含前缀) protected $name = 'users'; // 开启时间戳记录 protected $autoWriteTimestamp = true; // 定义非数据库字段 protected $field = ['full_name', 'email']; // 远程一对多关联 public function jobs() { return $this->hasManyThrough('Job', 'Department'); } }
上記のコードでは、主キー、テーブル名、タイムスタンプ レコードなどのモデル クラスの基本属性を定義します。モデルで使用する非データベース フィールドを定義することもできます。最後に、「ジョブ」と「ユーザー」の間に新しいリモート 1 対多の関連付けを確立するリモート 1 対多の関連付けメソッドを定義します。
モデルを定義したら、それを使用してデータをクエリできます。以下は、ThinkPHP6 で一般的に使用されるクエリメソッドの一部です。
$user = User::find(1);
上記のコードは、ID 1 のユーザー レコードをクエリします。
$users = User::select([1, 2, 3]);
上記のコードは、ID 1、2、および 3 を持つユーザー レコードをクエリします。
$users = User::where('name', 'like', 'Tom%')->order('name', 'desc')->limit(10)->select();
上記のコードは、名前が「Tom」で始まるユーザー レコードをクエリし、名前の降順で並べ替えて、返されるレコードの数を 10 に制限します。
$count = User::count();
上記のコードは、「users」テーブルの数を返します。
$sum = User::where('age', '>=', 18)->sum('score');
上記のコードは、年齢が 18 歳以上のユーザーのスコアの合計を返します。
データを更新および挿入するには、モデル インスタンスのプロパティとメソッドを使用できます。
$user = User::find(1); $user->name = 'John Doe'; $user->save();
上記のコードは、ID 1 のユーザーの名前を「John Doe」に更新します。
$newUser = new User; $newUser->name = 'Jane Doe'; $newUser->email = 'jane@example.com'; $newUser->save();
上記のコードは、新しいユーザー レコードを作成します。
モデル クラスを使用してレコードを削除するのは非常に簡単です。モデルの「delete()」メソッドを呼び出してレコードを削除できます。
$user = User::find(1); $user->delete();
上記のコードは、ID 1 のユーザー レコードを削除します。
概要
ORM は、データベースの管理と運用を容易にするテクノロジーです。 ThinkPHP6 の ORM 機能により、開発者はこのタスクを簡単に行うことができます。データベース接続の構成、モデル クラスの作成、データのクエリ、データの更新と挿入、データの削除を行うことで、アプリケーションをより迅速かつ便利に開発および保守できます。
以上がThinkPHP6のORM機能の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。