protected function _beforeSave() { parent::_beforeSave(); foreach ($this->getModel()->getExprColumns() as $name) { $expr = $this->getModel()->getExpr($name); if ($expr instanceof Kwf_Model_Select_Expr_Parent) { $ref = $this->getModel()->getReference($expr->getParent()); if ($ref === Kwf_Model_RowsSubModel_Interface::SUBMODEL_PARENT) { continue; } } $this->{$name} = $this->getModel()->getExprValue($this, $name); } foreach ($this->getModel()->getProxyContainerModels() as $model) { foreach ($model->getExistingRows() as $proxyRow) { if ($proxyRow->getProxiedRow() === $this) { foreach ($model->getExprColumns() as $name) { $expr = $model->getExpr($name); if ($expr instanceof Kwf_Model_Select_Expr_Parent) { $ref = $model->getReference($expr->getParent()); if ($ref === Kwf_Model_RowsSubModel_Interface::SUBMODEL_PARENT) { continue; } } $this->{$name} = $model->getExprValue($proxyRow, $name); } } } } }
protected function _beforeSave() { parent::_beforeSave(); foreach ($this->getModel()->getExprColumns() as $name) { $this->{$name} = $this->getModel()->getExprValue($this, $name); } foreach ($this->getModel()->getProxyContainerModels() as $model) { foreach ($model->getExprColumns() as $name) { foreach ($model->getExistingRows() as $proxyRow) { if ($proxyRow->getProxiedRow() === $this) { $this->{$name} = $model->getExprValue($proxyRow, $name); } } } } }