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

ThinkPHP6のORM機能の使い方

Jun 20, 2023 pm 03:12 PM
thinkphp 関数 orm

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 までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

vivox100sとx100の違い:性能比較と機能分析 vivox100sとx100の違い:性能比較と機能分析 Mar 23, 2024 pm 10:27 PM

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

thinkphpプロジェクトの実行方法 thinkphpプロジェクトの実行方法 Apr 09, 2024 pm 05:33 PM

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

thinkphp にはいくつかのバージョンがあります thinkphp にはいくつかのバージョンがあります Apr 09, 2024 pm 06:09 PM

ThinkPHP には、さまざまな PHP バージョン向けに設計された複数のバージョンがあります。メジャー バージョンには 3.2、5.0、5.1、および 6.0 が含まれますが、マイナー バージョンはバグを修正し、新機能を提供するために使用されます。最新の安定バージョンは ThinkPHP 6.0.16 です。バージョンを選択するときは、PHP バージョン、機能要件、コミュニティ サポートを考慮してください。最高のパフォーマンスとサポートを得るには、最新の安定バージョンを使用することをお勧めします。

セルフメディアとは一体何でしょうか?その主な特徴と機能は何ですか? セルフメディアとは一体何でしょうか?その主な特徴と機能は何ですか? Mar 21, 2024 pm 08:21 PM

インターネットの急速な発展に伴い、セルフメディアという概念が人々の心に深く根付いてきました。では、セルフメディアとは一体何でしょうか?その主な特徴と機能は何ですか?次に、これらの問題を 1 つずつ検討していきます。 1. セルフメディアとは何ですか? We-media は、その名前が示すように、あなたがメディアであることを意味します。これは、個人またはチームがインターネット プラットフォームを通じてコン​​テンツを独自に作成、編集、公開、配布できる情報媒体を指します。新聞、テレビ、ラジオなどの従来のメディアとは異なり、セルフメディアはよりインタラクティブでパーソナライズされており、誰もが情報の制作者および発信者になることができます。 2. セルフメディアの主な特徴と機能は何ですか? 1. 敷居が低い: セルフメディアの台頭により、メディア業界への参入の敷居が低くなり、煩わしい機材や専門チームは必要なくなりました。

thinkphpの実行方法 thinkphpの実行方法 Apr 09, 2024 pm 05:39 PM

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

PHP でオブジェクト リレーショナル マッピング (ORM) を使用してデータベース操作を簡素化するにはどうすればよいですか? PHP でオブジェクト リレーショナル マッピング (ORM) を使用してデータベース操作を簡素化するにはどうすればよいですか? May 07, 2024 am 08:39 AM

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

thinkphpのインストール方法 thinkphpのインストール方法 Apr 09, 2024 pm 05:42 PM

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

laravelとthinkphpではどちらが優れていますか? laravelとthinkphpではどちらが優れていますか? Apr 09, 2024 pm 03:18 PM

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

See all articles