現在の位置: ホーム> 最新記事一覧> ThinkPhp 5.1モデル自動更新更新_TIMEフィールドチュートリアル

ThinkPhp 5.1モデル自動更新更新_TIMEフィールドチュートリアル

gitbox 2025-07-29

導入

ThinkPHP 5.1は、高速Web開発のニーズを満たすことに専念する強力なPHP開発フレームワークです。その設計哲学は、コードの再利用、迅速な開発、システムのスケーラビリティに焦点を当てており、開発者に柔軟で効率的な開発体験を提供します。

ThinkPhp 5.1では、モデルを使用して、データベーステーブルを簡単に追加、削除、変更、チェックすることができます。この記事では、例を使用して、モデルの「update_time`フィールド」を自動的に更新して、データテーブルの更新操作を簡素化する方法を示します。

データテーブルを作成します

まず、「ID」、「Title」、「Content」、および「Update_Time」フィールドを使用して、データベースに記事テーブルを作成する必要があります。以下は、データテーブルを作成するSQLステートメントです。

 CREATE TABLE `article` (
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `title` varchar(255) DEFAULT '' COMMENT 'タイトル',
  `content` text COMMENT 'コンテンツ',
  `update_time` int(11) DEFAULT '0' COMMENT '時間を更新します',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC COMMENT='記事リスト';

モデルを作成します

次に、Application Directoryに「article.php」という名前のモデルファイルを作成します。コードは次のとおりです。

 namespace app\common\model;

use think\Model;

class Article extends Model
{
    // 自動書き込みタイムスタンプを設定します
    protected $autoWriteTimestamp = true;
}

上記のコードは、「記事」モデルの定義を実装し、自動的にタイムスタンプを書き込む機能を設定して、モデルが「update_time`」フィールドを自動的に更新できるようにします。

データベース操作を実装します

次に、記事のビジネスロジックを処理するために使用されるコントローラー「articlecontroller.php」を作成します。コントローラーのコードは次のとおりです。

 namespace app\index\controller;

use app\common\model\Article;
use think\Controller;

class ArticleController extends Controller
{
    // 記事の詳細をご覧ください
    public function detail($id)
    {
        $article = Article::get($id);
        if (!$article) {
            return $this->error('記事は存在しません');
        }

        // 訪問を更新します
        $article->setInc('views', 1);

        // 输出文章コンテンツ
        return view('detail', ['article' => $article]);
    }
}

このコードでは、最初に着信記事IDに基づいて対応する記事レコードを取得し、訪問を更新します。次に、取得した記事データがレンダリングのためにビューテンプレートに渡されます。

要約します

この記事を通して、ThinkPhp 5.1でモデルを使用して「update_time`」フィールドを自動的に更新する方法を学びました。自動書き込みタイムスタンプを設定することにより、データベーステーブルの更新タイムスタンプが自動的に更新され、開発プロセスが大幅に簡素化されます。 ThinkPhp 5.1が提供するモデル機能により、データベース操作がより柔軟でシンプルになり、開発者が開発効率を向上させます。