2011-01-18 17 views
0

私は何とか私の初心者のプロジェクトで再び失われました。私は離陸と着陸時刻のフライトの記録を追加しています。だから毎回私はそれを削除する(別の問題です)を削除する飛行を挿入している私は、特定の航空機(異なるモデル)の合計機体時間を更新したいと思います。今、私のモデルのafterSave/beforeDelete関数でこれを行うべきか、あるいは私が他の方法でそれを行うべきかどうかのように、いくつかの問題が出ています。 mysqlトリガ、または私のコントローラでさえ。挿入前と削除後

私の主な問題は、私がafterSave()とbeforeDeleteの呼び出しで必要とするすべての情報を集めようとしていて、そこにデータを取得する方法がわかりません。特にbeforeDelete()コールでは、$ this-> data配列が空であるように縫い合わせているので、私の合計機体時間から引く必要がある時間を計算することはできません。

私の質問の核心は、これが本当に正しい方法であれば、もっと一般的な性質です。私の心の向こう側に来ているもう一つのことは、もし何かが間違っていたら、飛行時間が矛盾しているのを恐れていますが、既に飛行記録を削除しているという事実です。

私はストアドプロシージャで何か他のことをやろうと考えています。

これを読んでいただきありがとうございます。それをもっとケーキッシュなやり方にすることをお勧めします。これはあなたが何をする必要があるかであるように

敬具、

cdjw

答えて

0

がcounterCacheがコアにどのように機能するかを見て、聞こえます。それはすべてモデルコールバックで発生します。

コードを見て、これがどこにあるのかを確認してください。http://api.cakephp.org/class/model#method-ModelupdateCounterCache

+0

oha!助けてくれた多くの感謝。私はいつも間違ったセクションと場所を見ていた。素晴らしい助け! –

関連する問題