ホームページ  >  記事  >  PHPフレームワーク  >  ThinkPHP6のORM機能の使い方

ThinkPHP6のORM機能の使い方

WBOY
WBOYオリジナル
2023-06-20 15:12:261800ブラウズ

ThinkPHP6 は、新しいアーキテクチャ設計と ORM 機能を採用した、高性能かつシンプルで使いやすい PHP 開発フレームワークです。この ORM 機能は、アプリケーション内のデータベースを簡単に管理および操作するのに役立ち、シンプルなコードを通じてより迅速な開発と変更を可能にします。この記事では、ThinkPHP6 の ORM 機能を使用してアプリケーションをより適切に構築および保守する方法を学びます。

  1. データベース接続の構成

まず、構成ファイルでデータベース接続を設定する必要があります。 ThinkPHP6 のデフォルト設定ファイルでは、データベース設定は config/database.php ファイルに保存されます。

// config/database.php
return [
    'type'            => 'mysql',
    'hostname'        => 'localhost',
    'database'        => 'testdb',
    'username'        => 'root',
    'password'        => '',
    'hostport'        => '',
    // 其他配置参数
];

この構成ファイルでは、接続に必要なパラメータを設定できます。この例では、MySQL データベースが使用され、ユーザー名やパスワードなどの必要なパラメーターが設定されます。

  1. モデルクラスの作成

モデルクラスはデータを管理・操作するための核となるクラスであり、ORM機能を使用するために新規にモデルクラスを作成する必要があります。 ThinkPHP6 では、次のコマンドを実行してモデル クラスを作成できます。

php think make:model User

上記のコマンドを実行すると、「User」という名前のモデル クラスが作成されます。コマンドの実行時に「-m」および「-r」オプションを使用して、テンプレートおよびバリデータ機能を備えたモデル クラスを作成することもできます。これらの関数を使用して、フォームやフォームバリデータなどの自動生成コードを生成できます。

php think make:model User -m -r
  1. モデルの定義

次に、モデル クラスのデータベース テーブルに対応するプロパティとメソッドを定義できます。次の例では、「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 対多の関連付けメソッドを定義します。

  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 歳以上のユーザーのスコアの合計を返します。

  1. データの更新と挿入

データを更新および挿入するには、モデル インスタンスのプロパティとメソッドを使用できます。

  • 更新レコード
$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();

上記のコードは、新しいユーザー レコードを作成します。

  1. データの削除

モデル クラスを使用してレコードを削除するのは非常に簡単です。モデルの「delete()」メソッドを呼び出してレコードを削除できます。

$user = User::find(1);
$user->delete();

上記のコードは、ID 1 のユーザー レコードを削除します。

概要

ORM は、データベースの管理と運用を容易にするテクノロジーです。 ThinkPHP6 の ORM 機能により、開発者はこのタスクを簡単に行うことができます。データベース接続の構成、モデル クラスの作成、データのクエリ、データの更新と挿入、データの削除を行うことで、アプリケーションをより迅速かつ便利に開発および保守できます。

以上がThinkPHP6のORM機能の使い方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。