關聯模型之間的CakePHP更新讓我們假設以下情況:在通過觸發器
- 甲屬於關聯B,C
- 乙的hasMany甲
- Ç的hasMany甲
- A具有場量
- 乙有字段total_quantity
總數B總和所有指標在A.
的所有相關的個人記錄維杜阿爾批量我ModelC /編輯,用戶可以添加/刪除/修改A.
我要當一個記錄被追加每次更新B.total_quantity,修改或刪除。
基本上,我有3種可能性做了更新:使用觸發器手動
- 在ModelCController
- 在ModelA.AfterSave
- 數據庫
我的第一選擇是解決方案2,但我發現它有問題,所以我需要幫助。
在ModelA.AfterSave中,我只有新的修改過的數據。我怎麼知道A.quantity是否被改變了?沒有$ this-> old ['ModelA']或類似的東西。即使我可以知道這些信息,我也無法訪問ModelB,因爲沒有$ this-> data ['ModelB'] ...
任何人都可以提供幫助嗎?
您是否聽說過CakePHP模型的counterCache功能?請參閱http://book.cakephp.org/2.0/en/models/associations-linking-models-together.html –
@JustinT。 counterCache不會總和字段 – Dave