ThinkPHP6のORM機(jī)能の使い方
Jun 20, 2023 pm 03:12 PMThinkPHP6 は、新しいアーキテクチャ設(shè)計(jì)と ORM 機(jī)能を採(cǎi)用した、高性能かつシンプルで使いやすい PHP 開(kāi)発フレームワークです。この ORM 機(jī)能は、アプリケーション內(nèi)のデータベースを簡(jiǎn)単に管理および操作するのに役立ち、シンプルなコードを通じてより迅速な開(kāi)発と変更を可能にします。この記事では、ThinkPHP6 の ORM 機(jī)能を使用してアプリケーションをより適切に構(gòu)築および保守する方法を?qū)Wびます。
- データベース接続の構(gòu)成
まず、構(gòu)成ファイルでデータベース接続を設(shè)定する必要があります。 ThinkPHP6 のデフォルト設(shè)定ファイルでは、データベース設(shè)定は config/database.php ファイルに保存されます。
// config/database.php return [ 'type' => 'mysql', 'hostname' => 'localhost', 'database' => 'testdb', 'username' => 'root', 'password' => '', 'hostport' => '', // 其他配置參數(shù) ];
この構(gòu)成ファイルでは、接続に必要なパラメータを設(shè)定できます。この例では、MySQL データベースが使用され、ユーザー名やパスワードなどの必要なパラメーターが設(shè)定されます。
- モデルクラスの作成
モデルクラスはデータを管理?操作するための核となるクラスであり、ORM機(jī)能を使用するために新規(guī)にモデルクラスを作成する必要があります。 ThinkPHP6 では、次のコマンドを?qū)g行してモデル クラスを作成できます。
php think make:model User
上記のコマンドを?qū)g行すると、「User」という名前のモデル クラスが作成されます。コマンドの実行時(shí)に「-m」および「-r」オプションを使用して、テンプレートおよびバリデータ機(jī)能を備えたモデル クラスを作成することもできます。これらの関數(shù)を使用して、フォームやフォームバリデータなどの自動(dòng)生成コードを生成できます。
php think make:model User -m -r
- モデルの定義
次に、モデル クラスのデータベース テーブルに対応するプロパティとメソッドを定義できます。次の例では、「users」テーブルに対応するモデル クラスを定義します。
// app/model/User.php namespace appmodel; use thinkModel; class User extends Model { // 數(shù)據(jù)表主鍵 protected $pk = 'id'; // 數(shù)據(jù)表名(不含前綴) protected $name = 'users'; // 開(kāi)啟時(shí)間戳記錄 protected $autoWriteTimestamp = true; // 定義非數(shù)據(jù)庫(kù)字段 protected $field = ['full_name', 'email']; // 遠(yuǎn)程一對(duì)多關(guān)聯(lián) public function jobs() { return $this->hasManyThrough('Job', 'Department'); } }
上記のコードでは、主キー、テーブル名、タイムスタンプ レコードなどのモデル クラスの基本屬性を定義します。モデルで使用する非データベース フィールドを定義することもできます。最後に、「ジョブ」と「ユーザー」の間に新しいリモート 1 対多の関連付けを確立するリモート 1 対多の関連付けメソッドを定義します。
- データのクエリ
モデルを定義したら、それを使用してデータをクエリできます。以下は、ThinkPHP6 で一般的に使用されるクエリメソッドの一部です。
- 単一レコードのクエリ
$user = User::find(1);
上記のコードは、ID 1 のユーザー レコードをクエリします。
- 複數(shù)のレコードのクエリ
$users = User::select([1, 2, 3]);
上記のコードは、ID 1、2、および 3 を持つユーザー レコードをクエリします。
$users = User::where('name', 'like', 'Tom%')->order('name', 'desc')->limit(10)->select();
上記のコードは、名前が「Tom」で始まるユーザー レコードをクエリし、名前の降順で並べ替えて、返されるレコードの數(shù)を 10 に制限します。
- クエリ統(tǒng)計(jì)
$count = User::count();
上記のコードは、「users」テーブルの數(shù)を返します。
$sum = User::where('age', '>=', 18)->sum('score');
上記のコードは、年齢が 18 歳以上のユーザーのスコアの合計(jì)を返します。
- データの更新と挿入
データを更新および挿入するには、モデル インスタンスのプロパティとメソッドを使用できます。
- 更新レコード
$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();
上記のコードは、新しいユーザー レコードを作成します。
- データの削除
モデル クラスを使用してレコードを削除するのは非常に簡(jiǎn)単です。モデルの「delete()」メソッドを呼び出してレコードを削除できます。
$user = User::find(1); $user->delete();
上記のコードは、ID 1 のユーザー レコードを削除します。
概要
ORM は、データベースの管理と運(yùn)用を容易にするテクノロジーです。 ThinkPHP6 の ORM 機(jī)能により、開(kāi)発者はこのタスクを簡(jiǎn)単に行うことができます。データベース接続の構(gòu)成、モデル クラスの作成、データのクエリ、データの更新と挿入、データの削除を行うことで、アプリケーションをより迅速かつ便利に開(kāi)発および保守できます。
以上がThinkPHP6のORM機(jī)能の使い方の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress
リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover
寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類(lèi)リムーバー

Video Face Swap
完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版
中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ThinkPHP プロジェクトを?qū)g行するには、Composer をインストールし、Composer を使用してプロジェクトを作成し、プロジェクト ディレクトリに入り、php bin/consoleserve を?qū)g行し、http://localhost:8000 にアクセスしてようこそページを表示する必要があります。

ThinkPHP には、さまざまな PHP バージョン向けに設(shè)計(jì)された複數(shù)のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機(jī)能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機(jī)能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお?jiǎng)幛幛筏蓼埂?/p>

ThinkPHP フレームワークをローカルで実行する手順: ThinkPHP フレームワークをローカル ディレクトリにダウンロードして解凍します。 ThinkPHP ルート ディレクトリを指す仮想ホスト (オプション) を作成します。データベース接続パラメータを構(gòu)成します。 Webサーバーを起動(dòng)します。 ThinkPHP アプリケーションを初期化します。 ThinkPHP アプリケーションの URL にアクセスして実行します。

vivox100s と x100 攜帯電話(huà)はどちらも vivo の攜帯電話(huà)製品ラインの代表的なモデルであり、それぞれ異なる時(shí)代における vivo のハイエンド技術(shù)レベルを代表するものであるため、2 つの攜帯電話(huà)にはデザイン、性能、機(jī)能に一定の違いがあります。この記事では、消費(fèi)者が自分に合った攜帯電話(huà)をより適切に選択できるように、これら 2 つの攜帯電話(huà)を性能比較と機(jī)能分析の観點(diǎn)から詳しく比較します。まずはvivox100sとx100の性能比較を見(jiàn)てみましょう。 vivox100s には最新の機(jī)能が搭載されています。

Laravel フレームワークと ThinkPHP フレームワークのパフォーマンスの比較: ThinkPHP は、最適化とキャッシュに重點(diǎn)を置いて、一般に Laravel よりもパフォーマンスが優(yōu)れています。 Laravel は優(yōu)れたパフォーマンスを発揮しますが、複雑なアプリケーションの場(chǎng)合は、ThinkPHP の方が適している可能性があります。

ThinkPHP のインストール手順: PHP、Composer、および MySQL 環(huán)境を準(zhǔn)備します。 Composer を使用してプロジェクトを作成します。 ThinkPHP フレームワークと依存関係をインストールします。データベース接続を構(gòu)成します。アプリケーションコードを生成します。アプリケーションを起動(dòng)し、http://localhost:8000 にアクセスします。

ThinkPHP は、キャッシュ メカニズム、コードの最適化、並列処理、データベースの最適化などの利點(diǎn)を備えた高性能 PHP フレームワークです。公式パフォーマンステストでは、1秒あたり10,000以上のリクエストを処理できることが示されており、実際のアプリケーションではJD.comやCtripなどの大規(guī)模なWebサイトやエンタープライズシステムで広く使用されています。

PHP でのデータベース操作は、オブジェクトをリレーショナル データベースにマップする ORM を使用して簡(jiǎn)素化されます。 Laravel の EloquentORM を使用すると、オブジェクト指向構(gòu)文を使用してデータベースと対話(huà)できます。モデル クラスを定義したり、Eloquent メソッドを使用したり、実際にブログ システムを構(gòu)築したりすることで ORM を使用できます。
