cakephp中HasMany关系中基于beforeValidate回调的数据的计算
发票有许多行项目 创建新发票时,我们需要汇总行项目总计,以便设置发票总计 这可以在afterSave回调中完成,但更希望先验证总计,并避免使用beforeValidate进行额外的DB查询cakephp中HasMany关系中基于beforeValidate回调的数据的计算,cakephp,Cakephp,发票有许多行项目 创建新发票时,我们需要汇总行项目总计,以便设置发票总计 这可以在afterSave回调中完成,但更希望先验证总计,并避免使用beforeValidate进行额外的DB查询 如何才能最好地实现这一点?只需在控制器中执行即可 $sum = array_sum(Set::classicExtract($this->data, 'Invoice.{n}.LineItems.price')); $sum将是您的发票总额。我假设$this->data的结构是 $this->d
如何才能最好地实现这一点?只需在控制器中执行即可
$sum = array_sum(Set::classicExtract($this->data, 'Invoice.{n}.LineItems.price'));
$sum将是您的发票总额。我假设$this->data的结构是
$this->data['Invoice']
[0] => ['LineItems'] => ['price']
如果不正确,请更改路径以满足您的需要,或者编辑您的帖子以显示$this->data的正确结构
希望它能帮助您所有数据都在父发票模型中的$this->数据中,因此只需在行项目中循环并应用数学。