关联模型之间的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