在CakePHP中访问另一个链接模型时,从相关模型中获取列值的总和

时间:2013-07-01 02:08:25

标签: cakephp cakephp-2.0

我有一个用于预订的MySQL表和一个单独的付款表,其中一个或多个(或没有)付款属于每个预订。这两个表在Cake模型中设置了适当的关系,在MySQL中建立了外键,将两者连接在一起。

在视图中显示预订列表时,我想显示每个预订的所有付款以及每个预订的详细信息,以便我可以看到预订已支付的金额以及剩余的余额。付钱。

在CakePHP中实现这一目标的最佳方法是什么?我可以在支付模型中使用afterSave()来更新存储在预订模型中的总数,但我认为如果有这样的方式,虚拟现场解决方案或类似的东西会更适合数据库完整性吗?

1 个答案:

答案 0 :(得分:1)

由于付款属于预订,因此对预订的查询应返回一系列相关付款。使用预订模型中的afterFind回调函数来累计付款总额并分配给预订数据结构中的新元素。

$ results [0] [$ this-> alias] ['total_payments'] + = $ results [0] [$ this-> alias] ['Payment'] ['payment_amount'];

http://book.cakephp.org/2.0/en/models/callback-methods.html#afterfind