現在の位置: ホーム> 最新記事一覧> YIIフレームワークデータ統計実装:日、月、年、カスタム期間ごとの統計機能

YIIフレームワークデータ統計実装:日、月、年、カスタム期間ごとの統計機能

gitbox 2025-07-18

導入

YIIフレームワークは、最新のWebアプリケーションを迅速に構築することに焦点を当てた高性能開発フレームワークです。開発者がさまざまなニーズを効率的に達成できるようにする豊富な機能とコンポーネントを提供します。この記事では、YIIフレームワークを使用して、日、月、年、カスタム期間ごとにデータに関する統計を実装する方法について説明します。

日ごとの統計

毎日の統計を実装する前に、カウントする必要があるデータを保存するためのデータテーブルが必要です。これがサンプルデータテーブルです:

 CREATE TABLE `statistics` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `date` date NOT NULL,
    `count` int(11) NOT NULL,
    PRIMARY KEY (`id`)
);

次に、このデータテーブルで動作するために、YIIフレームワークにデータモデルを作成する必要があります。 YIIのGIIコードジェネレーターを使用して、モデルコードを自動的に生成できます。

 <span class="fun">YII GII/MODEL -TABLENAME = Statistics  -  ModelClass = Statistics</span>

生成された統計モデルは、データテーブルの操作を簡素化するのに役立ちます。

毎日の統計については、次のコードを使用できます。

 $today = date('Y-m-d');
$count = Statistics::find()
    ->where(['date' => $today])
    ->sum('count');

上記のコードは、その日のデータを照会し、合計カウントを計算します。

毎月および年次統計

毎月および年次統計を達成するには、使用する方法は毎日の統計に似ており、わずかな変更のみが必要です。これが毎月の統計のコード例です。

 $thisMonth = date('Y-m');
$count = Statistics::find()
    ->where(['like', 'date', $thisMonth])
    ->sum('count');

同様の演算子を使用することにより、今月を含むデータを除外できます。

同様に、ここに年の統計に基づくコード例があります。

 $thisYear = date('Y');
$count = Statistics::find()
    ->where(['like', 'date', $thisYear])
    ->sum('count');

カスタム期間統計

統計の期間をカスタマイズする必要がある場合は、開始日と終了日を渡すことでそれを行うことができます。これがサンプルコードです:

 $startDate = '2022-01-01';
$endDate = '2022-12-31';
$count = Statistics::find()
    ->where(['between', 'date', $startDate, $endDate])
    ->sum('count');

上記のコードは、2022年1月1日から2022年12月31日までのデータをカウントします。

要約します

YIIフレームワークを使用して、日、月、年、カスタム期間ごとにデータに関する統計を実装することは比較的簡単です。 YIIが提供するクエリビルダーを使用することにより、必要なデータを簡単にフィルタリングおよび計算できます。

上記は、YIIフレームワークの日、月、年、およびカスタム期間ごとの統計の実装に関する詳細な紹介です。この記事があなたを助けることを願っています。