PHP の発展に伴い、データベースにアクセスして操作する必要がある Web アプリケーションがますます増えています。 ORM (オブジェクト リレーショナル マッピング) は、オブジェクト指向の方法でデータベースを管理し、保守可能でスケーラブルで移植可能なソリューションを提供する、一般的なデータベース操作方法です。 ThinkPHP6 は人気のある PHP フレームワークの 1 つで、ORM を使用するさまざまな方法を提供し、非常にシンプルで理解しやすいです。この記事では、ThinkPHP6 でデータベース操作に ORM を使用する方法を紹介します。
Step1. データベースへの接続
ORMを利用してデータベースを操作する前に、まずデータベースの接続情報を設定する必要があります。 ThinkPHP6 では、config/database.php で設定できます。特定の構成情報には、データベースの種類、データベース アドレス、ポート、データベース名、ユーザー名、パスワードなどが含まれます。たとえば、次は MySQL データベース構成です:
<?php return [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => 'localhost', // 数据库名 'database' => 'test', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => '', // 数据库调试模式 'debug' => true, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, // 开启自动写入时间戳字段 'auto_timestamp' => false, // 时间字段取出后的默认时间格式 'datetime_format' => 'Y-m-d H:i:s', // 是否需要进行SQL性能分析 'sql_explain' => false, ];
Step2. モデルの定義
ORM を使用してデータベースを操作する場合、データベース テーブルを管理するための対応するモデルを定義する必要があります。 ThinkPHP6 では、コマンド ライン ツールを使用してモデル ファイルを自動的に生成することも、モデル ファイルを手動で作成することもできます。以下は手動で作成されたモデル ファイルの例です:
<?php namespace appmodel; use thinkModel; class User extends Model { protected $table = 'user'; protected $pk = 'id'; protected $autoWriteTimestamp = true; protected $createTime = 'create_time'; protected $updateTime = 'update_time'; protected $dateFormat = 'Y-m-d H:i:s'; protected $type = [ 'id' => 'integer', 'create_time' => 'datetime', 'update_time' => 'datetime', 'status' => 'boolean', ]; }
上記のコードでは、User という名前のモデルを定義します。対応するデータベース テーブル名は「user」、主キー フィールドは「id」です。 。同時に、自動タイムスタンプや時刻形式などのプロパティを定義します。モデルでは、モデルの関係を定義するためのメソッドなど、他のいくつかの属性とメソッドを定義できます。これらのプロパティとメソッドの使用法については、次の手順で詳しく説明します。
ステップ 3. データのクエリ
ORM を使用してデータをクエリする場合、さまざまなニーズを満たすためにさまざまな方法を使用できます。一般的に使用される ORM クエリ メソッドの一部を次に示します。
テーブル メソッド
$result = hinkacadeDb::table('user')->where('id', $id)->find();
テーブル メソッドを使用すると、データベース テーブルを直接操作でき、where、order、および を呼び出すことができます。チェーンやその他の方法で制限します。
find メソッドと select メソッド
$user = User::find($id); $users = User::where('status', 1)->select();
find メソッドは、指定された主キー値を持つレコードを検索でき、select メソッドは、条件を満たす複数のレコードをクエリできます。
value メソッド
$username = User::where('id', $id)->value('username');
value メソッドを使用して、指定されたフィールドの値をクエリします。
count メソッド
$count = User::count();
count メソッドを使用して、条件を満たすレコードの数をクエリします。
or クエリ
$user = User::where('username', $username)->whereOr('email', $email)->find();
or ステートメントは、whereOr メソッドを使用して実装できます。
ページング クエリ
$users = User::where('status', 1)->paginate(10);
paginate メソッドを使用してページング クエリを実装し、各ページに表示されるレコードの数をカスタマイズします。
ステップ 4. データの更新
ORM を使用してデータベース レコードを更新する場合、update メソッドを使用できます。たとえば、次はレコードを更新する例です。
$user = User::find($id); $user->username = 'new_username'; $user->save();
find メソッドを使用して、指定された主キー値を持つレコードを検索できます。その後、オブジェクトのプロパティを変更できます。最後に、save メソッドを呼び出して、変更されたレコードをデータベースに保存します。
ステップ 5. データの削除
ORM を使用してデータベース レコードを削除する場合は、delete メソッドを使用できます。たとえば、次はレコードを削除する例です。
$user = User::find($id); $user->delete();
find メソッドを使用して、指定された主キー値を持つレコードを検索できます。次に、delete メソッドを呼び出してデータベースからレコードを削除します。
概要
この記事では、ThinkPHP6 でのデータベース操作に ORM を使用する基本的な手順を紹介します。まず、データベース接続情報を構成する必要があります。次に、データベース テーブルを管理するモデルを定義する必要があります。 ORM を使用してデータをクエリする場合、さまざまなニーズを満たすためにさまざまな方法を使用できます。データを更新および削除するときは、対応するメソッドを使用してこれを実現できます。 ORM を使用すると、面倒な SQL 操作から解放され、開発効率が向上します。この記事があなたのお役に立てば幸いです!
以上がThinkPHP6 でデータベース操作に ORM を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。