我有两个模型。订单和OrderProduct
当向添加订单时,我试图操作订单模型的beforeValidate()中的OrderProduct数据,但未成功。
我试过了。(都在订单模型中)
function beforeValidate()
{
parent::beforeValidate();
$this->data['OrderProduct']['total'] = 1000;
return true;
}
function beforeValidate()
{
parent::beforeValidate();
CakeRequest::data('OrderProduct.total', 1000);
return true;
}但在失败的事务(!this-> OrderProduct ())之后,从控制器查看时,saveAll数据不会被修改。
有没有人可以提出一个不需要手动设置控制器中的数据的替代解决方案。
发布于 2011-11-23 07:14:25
尝试$this->request->data‘’OrderProduct‘= 1000;
发布于 2011-11-22 04:44:50
您需要在某个地方调用一个成功的保存,才能更改数据库中的记录。如果保存失败,则您正在编辑的值将被丢弃。
仅供参考,第一个应该用于在$this->数据中设置值。
您现在所需要的就是一个不会失败的事务。即
$this->save($this->data);还要注意,调用save需要更多信息,比如id,或者您需要先读取一条记录,然后再保存它。
https://stackoverflow.com/questions/8203445
复制相似问题