1

私はcakephp2を使用しています。2つの質問があります

  1. 異なるキャッシュ数を別のテーブルに保存したいと考えています。例:- ユーザーがグループやフォーラムなどを作成する可能性があり、毎回クエリを実行する代わりにカウントを保存したい。そこで、cakephp の counterCache 機能を利用しました。これらすべてのカウントを別のテーブルに保存し、ユーザーがグループ/フォーラムなどを作成するときに、そのテーブルのそれぞれのカウントを更新する必要がありますか?

  2. ユーザーがグループを作成し、ユーザーが任意のグループに参加したときにカウントが自動的にインクリメントされるように、グループの counterCache カウントを更新する必要があります。Cakephp で可能ですか?

4

1 に答える 1

1

いいえ、counterCache() は、あなたのようなより複雑な要件で動作するとは考えられていませんでした。フレームワークの他の機能と同様に、最も一般的なケースをカバーすると考えられています。あなたのリクエストは毎日のリクエストではありません。;)

モデルで afterSave() コールバックを使用し、そこにカスタマイズしたロジックを追加して、必要に応じて関連付けられたモデルにカウントを保存します。しかし、全体として、カウントを格納するためだけに単一のテーブルを追加する理由がわかりませんか? このアーキテクチャには何のメリットもありません。

于 2012-04-23T11:27:38.060 に答える