我正在编写逻辑钩子,我需要使用其他模块元素更新1个模块字段。
<?php
class logic_hooks_class {
function after_save_method($bean, $event, $arguments) {
if (!isset($bean->ignore_update_c)||$bean->ignore_update_c === false {
//here I need to get module's reservations element: amount_reserved
//should I load relationship like $bean->load_relationship('reservations'); ??
//need to set total_reserved = amount_reserved;
//by the way amount_reserved might have several values for one reserved
$bean->goods = $bean->amount-$bean->total_reserved;
$bean->ignore_update_c = true;
$bean->save();
}
}
}
?>
答案 0 :(得分:1)
您可以像这样加载关系的bean:
$bean->load_relationship('reservations');
$reservations = $bean->reservations->getBeans();
现在可以循环$reservations
和fetch
并总结所需的值。
只是澄清load_relationship
的工作原理。 load_relationship
的参数应该是指向关系名称的链接vardef。逻辑名称是模块的复数名称,如预留。