这是我在支付控制器中添加的功能。它写入付款表,从协议中读取,但不更新协议。为什么?
public function add( $agreement_id = null ) {
if ($this->request->is('post')) {
$this->Payment->create();
if ($this->Payment->save($this->request->data)) {
$my_agreement = $this->Agreement->read(null, $agreement_id);
$my_agreement['Agreement']['payment']=
$my_agreement['Agreement']['payment']+
$this->request->data['Payment']['payment_volume'];
$my_agreement['Agreement']['charge']=
$my_agreement['Price']['total_price']-
$my_agreement['Agreement']['payment'];
$data = array( 'id' => $agreement_id,
'Agreement.payment' => $my_agreement['Agreement']['payment'],
'Agreement.charge' => $my_agreement['Agreement']['charge']
);
$this->Agreement->save($data);
return $this->redirect(array('action' => 'index'));
}
}
$agreements = $this->Payment->Agreement->find('list');
$this->set('agreement_id', $agreement_id);
$this->set(compact('agreements'));
}